我想學習一點'高級'Javascript,所以我想我會做一個簡單的打字遊戲。不幸的是,我早已陷入困境,我認爲這是一個愚蠢的錯誤,我完全忽略了某些事情的重點。這裏是我的代碼:Javascript單例函數不起作用
var TypingTest = new function() {
this._playing = false;
this.Play = function() {
this._playing = true;
}
this.Stop = function() {
this._playing = false;
}
$(document).keydown(function(e) {
if(this._playing) {
// Reference point
console.log(e);
}
});
}
的問題是,不管是什麼我實例化時,「基準點」永遠達不到_playing
變量。 this._playing
總是undefined
,我沒有絲毫的線索爲什麼。它的範圍是什麼?這是保護的東西嗎?它擊敗了我!
編輯:我有jQuery導入和工作。如果我取出if
塊,遊戲運行良好。
謝謝!
嘗試'console.log(this);'並將結果與您所期望的結果進行比較。你對代碼中涉及的「this」做出錯誤的假設 – zerkms