Цитата:
Сообщение от riden
Не совсем так. [u]Область видимости не изменится.
|
Это называется внешняя область видимости. Она не изменяется, да, а this (ссылка на рабочую область видимости, на объект, если уж вам так хочется) — изменяется.
Цитата:
Сообщение от riden
Так и есть, приватная функция (вложенная функция) работает в области видимости класса (функции внешней).
И не приплетайте сюда больше this из классового ООП, там this указывает всегда на класс (и соответственно на каждый экземпляр), здесь - на "объект активации функции". К области видимости функции это отношение не имеет.
P.S: ну и у кого каша в голове?
|
У вас каша. Вы трындите о том, что локальная функция не работает в области видимости
экземпляра класса (обратите внимание на выделенное слово). Я прекрасно знаю, что
сама по себе без лишних телодвижений она так не работает, в отличие от AS3. Слово «должна» в моих высказываниях означает, что надо сделать так, чтобы эта функция себя так вела, а вы продолжаете уже черт знает какой пост подряд твердить одно и то же про «не приплетайте сюда AS3» и что она так не работает. Не работает — значит надо сделать, чтобы работало именно так. А вы влепили костыль в виде ссылки на экземпляр, опять же, не зная про call и apply.
Вы мой код вообще видели из поста
#379? Вы внимательно читали пост
#391 в отношении к областям видимости и делегированию или нет? Похоже, что нет, о чем тогда разговаривать?
p.S.:
Есть одна хорошая цитата из книги «Объектно-ориентированное программирование на ActionScript 1» Брендана Холла и Сэмюэла Ван в отношении объектно-ориентированности AS1: «
Наследование в ActionScript — уродливое, запутанное дело со можеством всяких ям и ловушек. Плохо, что приходится столько знать о внутреннем устройстве ActionScript, чтобы заставить работать такое элементарное понятия ООП, как наследование».