這是我用來使用window.setinterval遞增intVariable值的代碼。與箭頭函數相混淆javascript
var Arrow = (function() {
function Arrow() {
this.intVariable = 1;
this.itemId = -1;
this.interval = 25;
}
Arrow.prototype.activateTimer = function() {
if (this.itemId === -1) {
window.setInterval(this.showTimer(), this.interval);
}
};
Arrow.prototype.showTimer = function() {
this.intVariable += this.interval;
console.log(this.intVariable);
};
return Arrow;
}());
var arrow = new Arrow();
arrow.activateTimer();
當我使用下面一行顯示計時器函數被調用一次
window.setInterval(this.showTimer(), this.interval);
但是,當我將其更改爲:
window.setInterval(() => this.showTimer(), this.interval);
它完美。
需要一些幫助,爲什麼它使用箭頭功能。
是的,這工作。但我很困惑,我已經如何使用這個引用,然後有什麼區別做了綁定(這)。也如果使用箭頭方法like()=> showtimer()那麼它也在工作。所以我需要知道爲什麼這兩種方法工作/ –
@yashshukla解釋更多的細節,編輯答案。 –
我已經理解了70%,但仍然困惑於此,()=>和綁定(這)不完全確定的功能。你知道任何書籍或博客,我可以找到這方面的好消息嗎?非常感謝您的幫助 –