在我的应用程序中,我有一个对象,其中有几个属性可以在应用程序的各个位置设置。到达对象的属性
在我的一个原型函数中,我有一个间隔运行的函数来更新计时器,并且在该函数中应该设置属性(this。)theTime。问题是,这不会发生,我想原因是this.theTime
指向函数本身,而不是对象。
下面是我的代码的两个版本,并且它们都不起作用。任何提示给我?
// 1.
function changeTime() {
this.theTime = setTime(time);
time.setSeconds(time.getSeconds()+1);
p1.html(this.theTime);
}
interval = setInterval(changeTime(), 1000);
// 2.
function changeTime(theTime) {
theTime = setTime(time);
time.setSeconds(time.getSeconds()+1);
p1.html(theTime);
}
interval = setInterval(function() { changeTime(this.theTime); }, 1000);
...
太使其更清晰,上面的函数更新计时器(如00:00:01
- >00:00:02
)每一秒,我想this.theTime
与时间进行更新。
当计时器停止时(发生在另一个原型函数中)我希望能够看到计时器停止的时间,但现在是this.theTime
是默认值,这意味着上述函数不会更新对象属性。而上述函数中的this.theTime
必须是局部变量。
注意:setTime()
是存在于与上述函数相同的原型函数中的另一个函数。
什么是'this'应该设置为?您的代码无法正常工作,但不知道如何解决问题是不可能的。这个值是在每个函数调用时设置的;它在任何功能中都不是永久的固定的东西。 – Pointy 2011-12-19 18:59:53
'setTime()'是你写的函数还是你正在试图使用JS函数'Date.setTime()'? – 2011-12-19 19:03:41
@JasonCraig我为你编辑了一些问题,以便清理更多的东西。 – 2011-12-19 19:19:43