在我的應用程序中,我有一個對象,其中有幾個屬性可以在應用程序的各個位置設置。到達對象的屬性
在我的一個原型函數中,我有一個間隔運行的函數來更新計時器,並且在該函數中應該設置屬性(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