Я пытаюсь изучить немного «продвинутого» Javascript, поэтому я решил, что сделаю простую типизирующую игру. К сожалению, я уже застрял на ранней стадии, и я считаю, что это глупая ошибка, когда я совершенно ничего не теряю. Вот мой код:Javascript singleton function not working
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
, и у меня нет ни малейшего понятия, почему. Это область? Это защита? Это бьет меня!
EDIT: У меня есть jQuery импортированный и работающий. Если я вынимаю блок if
, игра отлично работает.
Спасибо!
Попробуйте 'console.log (this);' и сравните результат с тем, что вы ожидаете. Вы делаете неправильные предположения о том, что означает «это» в вашем коде – zerkms