我有這個簡單的Javascript代碼編寫一些模塊,但我不知道爲什麼我得到的,即使我從內調用該函數不確定的結果:爲什麼這個JavaScript類返回undefined
window.onload = function() {
function testFunction() {
this.hours = null;
function getHours() {
return this.hours;
}
alert(getHours());
return {
getHours: function() {
return getHours();
}
}
}
var test = new testFunction();
alert(test.getHours());
}
我認爲我在理解javascript中的THIS
關鍵字方面存在問題,並在javascript構造函數中使用它。
謝謝。
你的'getHours'函數中的'this'與它之外的'this'是不一樣的。 –
@VsevolodGoloviznin有什麼不同?我真的想明白這一點!謝謝你的評論。 – Mohammad
@Mohammad這很簡單 - 如果你調用'obj.myFunc()',那麼'this === obj'。但是如果你只是調用'myFunc()'然後調用'this === window''(或ES5嚴格模式中的'null'!) – Alnitak