一:分别说明 split slice splice join 方法的作用和参数,并举例
split:是字符串的方法 str.split(',')根据括号里的把字符串拆分为数组
jion:是数组的方法把 arr.join('-')根据括号里的把数组拼接成字符串
splice:截取数组,有两个参数 arr.splice(1,2)从索引为1的元素开始截取两个元素,splice会改变原数组
slice:截取数组,有两个参数,arr.slice(1,2)从下标为1截取到下标为2的元素,slice不会改变原数组
二:举例说明强制类型转换和隐式类型转换?
强制类型转换:Boolean(value)——把给定的值转换成Boolean型;
Number(value)——把给定的值转换成数字(可以是整数或浮点数);
String(value)——把给定的值转换成字符串。
用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
当要转换的值是至少有一个字符的字符串、非0数字或对象时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。
隐式类型转换:
- 数组类型的类型转换,数组转换为字符串,实际上是调用不传参数的 join() 方法----------`这个说法一会会有些变动,留个悬念`
- 转为布尔类型成为false的有:undefined、null、空字符串、0、-0、NaN
- 字符串类型转为数值类型:
- 若字符串中出现任意非数字、非空格的字符,均转为NaN
- 若数字中间存在空格,转为NaN
- 若希望尽可能的转换字符串中出现的数字,请参考parseInt、parseFloat方法
- new Number() 和 Number() 是不同的:
- new Number() 创建一个Number对象
- Number() 将传入的参数转换为数值字面量
三:判断一个变量是否是数组的方法
isArray()
Object.prototype.toString.call ([])
arr instanceof Array
四:什么是原型对象
含义:原型对象,是用来解决构造函数在创建实例的时候,防止重复执行所导致的性能的降低(这里主要指占用内存),来为服用带来方便
使用:xxx.prototype.xxx=xxx
xxx.prototype={}这种是直接替换掉原型
五:什么是原型链
function Yx(){
}
var yx= new Yx(); 实例化对象
Yx.constructor=Yx这个是构造器
yx.__proto__==Yx.prototype 实例化对象的原型==构造函数的原型
yx.prototype.__proto__=Object.prototype