В моем приложении есть объект с несколькими свойствами, которые устанавливаются в различных местах приложения.
В одной из моих функций-прототипов у меня есть функция, которая запускается с интервалами для обновления таймера, и в этой функции должно быть установлено свойство (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
является значением по умолчанию, что означает, что функция выше не ' t обновить свойство объектов. Вместо this.theTime
в функции выше должна быть локальная переменная.
ПРИМЕЧАНИЕ: setTime()
- это другая функция, которая существует в той же функции-прототипе, что и функция выше.