call和apply
1,
call和apply,call和apply都是为了改变函数运行时候的环境
2,
function add(a,b){
alert(a+b);
}
function sub(a,b){
alert(a-b);
}
add.call(sub,3,1)//输出为4,add替换掉了sub
3,
call和apply第一个参数都是this,call后面传参数,apply后面传入数组
obj.call(arg,aaa,bbb,ccc)
obj.apply(arg,[aaa,bbb,ccc])
4,
call 传入参数列表
apply 传入数组
var array1 = [12,‘foo’];
var array2 = [‘Doe’,100];
Array.prototype.push.call(array1, ‘Doe’,100)
Array.prototype.push.apply(array1, array2)