我正在閱讀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