| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Обращения между функциями класса |
| Автор: anthonyBoard 6.12.2008, 13:47 | ||
| Добрый день! Подскажите, пожалуйста, как можно вызывать функции внутри класса в следующем случае:
Не буду отрицать, то что тут вообще некрасиво описан класс, и буду очень признателен, если кто-нибудь покажет как это сделать правильно. А с функцией проблема следующая, после вызова одной функции класса запускается таймер и с заданным интервалом вызывает другую функцию тогоже класса, но JavaScript ругается, что функции (somefunc_3()) такой нет. Т.е. на сколько я понимаю, когда функция вызывается таймером, она работает, как бы скажем, от лица window, а не из класса, и поэтому внутреннии функции класса становятся недоступны. Можно конечно хенделы передавать, но может есть какое-нибудь более хорошее решение? Заранее премного благодарен за помощь! (а пока попробую интервалы без window вызывать) |
| Автор: ksnk 6.12.2008, 14:05 | ||||||
|
| Автор: anthonyBoard 9.12.2008, 13:03 | ||||
| Про регистрозависимость - это просто опечатался, когда писал тут. Но вот набросал функцию, по смыслу ее думаю понятно будет, что мне надо, но она не работает (и пока как это исправить, не знаю):
Буду признателен, за помощь! Добавлено через 9 минут и 4 секунды Даже поправлюсь немного, необходимо чтобы работало следующее:
|
| Автор: ksnk 9.12.2008, 13:31 |
| function somefunc_1(){ clearInterval(this.timer); var self=this ; // замыкание, называется... this.timer = setInterval(function(){self.somefunc_2();}, 1000); } |
| Автор: anthonyBoard 9.12.2008, 14:17 |
| Excellent! То что надо! Спасибо огромное! |