我一直在寻找答案,但我发现的一切似乎都是说我没有做错任何事情。我试图在另一个内部调用原型函数,但我不断收到错误,它不是一个函数。JavaScript无法在另一个内部调用原型函数
出于某种原因,它只发生在一个特定的方法(滴答)内,其余的方法没有问题。
这里是我的代码:
Timer.prototype.getTimeRemaining = function(){
return this.startTime - this.currentTimeTimed;
}
Timer.prototype.updateElement = function(){
document.getElementById("clock").innerHTML = this.getTimeRemaining();
return true;
}
Timer.prototype.tick = function(){
if (this.running){
this.currentTimeTimed += timePassedInMilliseconds;
}
this.getTimeRemaining();
this.updateElement();
}
,所以我得到的错误是在蜱():遗漏的类型错误:this.getTimeRemaining()不是一个函数。
在测试更多时,我想我找到了原因:我认为这是因为tick函数是从一个区间中调用的。我不确定,但那是我能想到的唯一与其他功能不同的东西。但是我不知道如何改变我的代码,如果它是由间隔引起的。
在此先感谢。
也许你有一些bindind问题...请告诉我们你的'setInterval'。 – juliobetta
在tick中的'this.getTimeRemaining()'行放置一个断点。当它停在那里时,检查'this'的值。从那里继续。 –