Показать сообщение отдельно
Старый 29.02.2012, 04:01
gait вне форума Посмотреть профиль Отправить личное сообщение для gait Найти все сообщения от gait
  № 5  
gait

Регистрация: Mar 2010
Адрес: Russian Federation
Сообщений: 59
Цитата:
Сообщение от -De- Посмотреть сообщение
Загуглите, что такое this.
Из этого всё растёт.
Я не гуглил, просто открыл справку, а там написано только это: "Ссылка на объект, содержащий метод. При выполнении сценария ключевое слово this ссылается на объект, содержащий сценарий. В теле метода ключевое слово this ссылается на экземпляр класса, который содержит вызываемый метод." И всё, больше никаких подробностей
Цитата:
Сообщение от -De- Посмотреть сообщение
Когда лепят всюду, это такая прямая замена m_ венгерской нотации, означает, что переменная - член класса.
А если я как раз эту венгерскую нотацию и использую, только в упрощенном варианте
Код AS3:
private var _myObj:Object;
, то какая еще может быть польза от применения this? (Вообще-то, даже странно. Довольно часто встречаю конструкции с венгерскими нотациями и с this, например this._myObj. Это вообще как понимать? Зачем так делать?)

Цитата:
Сообщение от wvxvw Посмотреть сообщение
Я пишу this всегда, тогда когда оно есть.
Цитата:
Сообщение от wvxvw Посмотреть сообщение
Поэтому, я восновном пишу super, и редко this.
Всё-таки мне не очень ясно, когда вы пишете this

Цитата:
Сообщение от wvxvw Посмотреть сообщение
Еще такой момент. this это не ключевое слово, это переменная, просто компилятор сам заполняет значение этой переменной. Ключевое слово, это, например, for, var и т.д. - т.е. это не "идентификатор".
Я конечно в такие дебри не вдавался, и, может быть вы правы, но очень часто я встречал упоминание в адобовской доке, что это именно ключевое слово. Вот, например, страница 109 "Так как статические методы не связаны с отдельными экземплярами, в их теле нельзя использовать ключевые слова this и super.". "В примере проверяется также значение ключевого слова this. В данном случае this представляет глобальный объект." (стр 276). Или вот еще: "Учтите, что ключевое слово this относится к экземпляру ChildSprite с именем child. В этом состоит отличие от поведения в ActionScript 2.0. Если вы использовали компоненты в ActionScript 2.0, то могли запомнить, что когда метод класса передавался UIEventDispatcher.addEventListener(), область его действия была привязана к компоненту, который выполнял широковещательную рассылку события вместо класса, в
котором был определен метод прослушивателя. Иными словами, если вы пользовались этим методом в
ActionScript 2.0, ключевое слово this будет относиться к компоненту, осуществляющему широковещательную рассылку события, а не к экземпляру ChildSprite."

Но справедливости ради надо отметить, что this еще именуется в документации как ссылка (на той же 109 странице, например), поэтому, я не могу быть увереным в своём понимании.


Последний раз редактировалось gait; 29.02.2012 в 04:04.