我正在阅读John Resig的书籍“JavaScript忍者的秘密”,并在其中解释了如何通过使用此代码扩展对象原型来尝试预测未来语言的功能:此JavaScript代码的后果
if(!Array.prototype.forEach){
Array.prototype.forEach = function(fn, callback){
for(var i = 0; i < this.length; i++){
fn.call(callback || null, this[i], i, this);
}
};
}
现在,我明白了“callback || null”语句阻止向“调用”函数传递一个可能的未定义值。我不明白的是,将null作为“fn”参数的上下文传递的后果可能是什么。这不会让代码崩溃吗?
感谢您提供任何解释和/或启示。
'callback'不是描述性变量名称。 'fn'实际上是回调函数,''回调函数'this'的值... – pimvdb 2012-08-10 17:39:13
通常名称'scope'用于使用'callback'的地方。 'callback'意味着我的功能。 – 2012-08-10 17:40:30
'this_obj'将会是这个参数的一个更好的名字。 – 2012-08-10 18:06:34