apply和call都是 "调用一个对象的一个方法,用另一个对象替换当前对象"
var name ='张三';
function func1(a,b){
console.log(this.name);
console.log(a);
console.log(b);
}
func1('nihao','holle');
/**
分别输出 张三,nihao,holle
**/
var obj ={name:'王五'}
func1.apply(obj,['你好啊','我很好'])
/**
分别输出 王五,你好啊,我很好
**/
func1.call(obj,'你好啊'','我很好')
/**
分别输出 王五,你好啊,我很好
**/
apply 和 call最大的区别就是 apply第二个参数是一个可变长度的数据 call 从第二个参数开始是可变长度参数
网友评论