Показать сообщение отдельно
Старый 01.07.2008, 12:51
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 398  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от riden Посмотреть сообщение
Не совсем так. [u]Область видимости не изменится.
Это называется внешняя область видимости. Она не изменяется, да, а this (ссылка на рабочую область видимости, на объект, если уж вам так хочется) — изменяется.

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

Вы мой код вообще видели из поста #379? Вы внимательно читали пост #391 в отношении к областям видимости и делегированию или нет? Похоже, что нет, о чем тогда разговаривать?

p.S.:
Есть одна хорошая цитата из книги «Объектно-ориентированное программирование на ActionScript 1» Брендана Холла и Сэмюэла Ван в отношении объектно-ориентированности AS1: «Наследование в ActionScript — уродливое, запутанное дело со можеством всяких ям и ловушек. Плохо, что приходится столько знать о внутреннем устройстве ActionScript, чтобы заставить работать такое элементарное понятия ООП, как наследование».