Array的一些自带方法,查看W3C
函数的额call和apply方法
- 这两个方法都是函数对象的方法,需要通过函数对象来调用
- 当函数调用call()和apply()都会调用执行函数
- 在调用call()和apple()可以将一个对象指定为第一个参数,此时这个对象将会称为函数执行时的【this】
- call()方法可以将实参在对象之后依次传递
- apple()方法需要将实参封装到一个数组中统一传递
- 【this】的情况:
1. 以函数形式调用时,this永远指向window
2. 以方法的形式调用时,this是调用方法的对象
3. 以构造函数的形式调用,this是新创建的那个对象
4. 使用call好apply,this是指定的那个对象
arguments
在调用函数的时候,浏览器每次都会传递进两个隐含的参数
1. 函数的上下文对象this
2. 封装实参的对象arguments
- arguments是一个类数组对象,它也可以通过索引来操作数据,也可以获取长度
- 调用函数时,我们所传递的实参都保存在arguments中
- arguments.length可以用来获取实参的长度
- 我饿么及时不定义形参,也可以通过arguments来使用实参,只不过比较麻烦
- 它里边有一个属性叫做callee,这个属性对应一个函数对象,就是当前正在指向的函数的对象
自动装包拆包
方法和属性只能添加给对象,不能添加给基本数据类型
当我们对一些基本数据类型的值去调用方法数属性的时候,浏览器会临时使用包装类将其装换为对象,然后再调用对象的属性和方法,调用完以后,再将其转换为基本数据类型