我正在阅读 John Resig 的《JavaScript Ninja 的秘密》一书,他在其中解释了如何通过使用以下代码扩展对象的原型来尝试预测该语言的未来功能:
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);
}
};
}
现在,我了解到“回调 || null”语句会阻止将可能的未定义值传递给“调用”函数。我不明白将 null 作为“fn”参数的上下文传递的后果是什么。这不会使代码崩溃吗?
感谢您提供的任何解释和/或启发。