定义
apply与call是函数都有的方法,改变函数的this指向,为自己所用。
区别在于call是把参数按顺序传递进去,而apply则是将参数放在一个数组里。
//例如有一个函数定义如下,就可以通过如下方式调用
function a(arg1, arg2) {
}
a.apply(this, [arg1, arg2]);
a.call(this, arg1, arg2);
应用
- 类继承
function Son(props){
Parent.call(this, props)
}
- 求数组最大最小值(利用apply的参数特性)
Math.min.apply(Math, [1, 9]);