call可以改变this的指向,下面一个forEach例子,我们可以在回调函数里直接用this,和item是一样的
(当基本类型是会变成object)
var forEach=function(obj,fn){
for(var i=0;i<obj.length;i++){
fn.call(obj[i],obj[i]);
}
}
forEach([1,2],function(item){
console.log(item);
});
forEach([1,2],function(){
console.log(this);
});