//call和apply的区别
//Function.prototype.call和Function.prototype.apply区别仅在于传入的参数不同;
//apply接受两个参数,第一个是函数体内this对象的指向,第二个参数为一个带下标的集合
var func=function(a,b,c){ console.log([a,b,c]) } func.apply(null,[1,2,3]);
//call传入的参数数量不固定,跟apply相同的是,第一个参数也是代表函数体内的this指向,从第二个参数开始往后,每个参数被依次传入函数
var func2=function(a,b,c){ console.log([a,b,c]) } func2.call(null,1,2,3); var obj1={ name:"seven" }; var obj2={ name:"anne" }; global.name="global"; var getName=function(){ console.log(this.name) } getName(); getName.call(obj1); getName.apply(obj2)