在《JavaScript权威指南》上有一段用来实现Array.prototype.map
的函数:
var map = function(a,f){
var results = [];
for(var i = 0,l = a.length; i<l; i++){
if(i in a){
results[i] = f.call(null,a[i],i,a);//这里
}
}
return results;
};
为什么要用call(null)
而不是直接使用f(a[i], i, a)
? 这样this都是指向全局啊
胡说叔叔
相关分类