0
請問這裏有人請直接爲我們所有人一勞永逸嗎?Javascript中的函數上下文和這個關鍵字
var parent = {child: function(){
console.log(this);
var log = function(){
console.log(this);};
log();
}
}
當我打電話parent.child()
我得到:在Mozilla
Object{}
Window{}
其他人/文檔說,這個功能已經沒有任何上下文中調用。並且
this
將是調用函數的對象。 我不明白的是,如何在另一個對象內的這個函數被認爲沒有上下文(所以this
默認爲全局對象)。這裏的邏輯是什麼?謝謝
'log'被稱爲沒有上下文。如果你想用上下文調用它,你應該執行'log.call(this)'。如果沒有上下文,你會在嚴格模式下得到'window',而在嚴格模式下'undefined'。 – trincot
http://stackoverflow.com/questions/111102/how-do-javascript-closures-work – epascarello
謝謝。我知道。我想知道的是如何在沒有上下文的情況下調用它。 – BlackLog