![]() |
Слежение за переменной
Насколько я понимаю, постоянно следить за переменной или свойством объекта (меняет/не меняте свое значение + реакция) можно тремя способами
1. через onEnterFrame 2. через setInterval 3. через object.watch чем они отличаются, какой из них предпочтительней? есть ли еще способы? |
Цитата:
2 - е следит за временем и срабатывает через определённый промежуток. Про 3 ничего не скажу - не знаю. Других способов я как бы тоже не знаю но я ещё новичёк. |
Постоянно за переменной следит только watch, но он не ловит геттер-сеттер свойства.
А другими обработчиками событий (хоть onEnterFrame, хоть любой другой типа onMouseUp) можно все посмотреть. |
а какой у watch() принцип работы?
|
|
он следит за ведомой переменной, и если она изменила своё значение, запускается некая функция
в хелпе подробное описание и примеры |
Цитата:
// upd Вернее, даже не совсем так. _х, например, не является в действительности свойстом клипа. У клипа (если никаких свойств ему не добавлять) есть их аж 2, __proto__ и constructor. ASSetPropFlags можно запретить удалять или просматривать какое-то свойство (но им же можно это и разрешить). |
_x и подобные являются самыми настоящими сеттерами и геттерами. watch не работает с ними.
|
и все-таки, по какому принципу работает watch?
каким образом происходит слежение? Например, в ентерфрейме проверка "ведомой" переменной запускается с некоторой частотой, в сетинтервале - через нек. промежуток времени, (что делает эти способы похожими друг на друга). эти способы при определенных условиях могут потреблять значительные ресурсы. Как проверяет watch? ... как его использовать, про геттер-сеттер - это я знаю, но все равно спасибо |
Примерно как геттер и сеттер работает.
|
| Часовой пояс GMT +4, время: 16:56. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.