Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Закрытая тема
Старый 29.02.2012, 04:01
gait вне форума Посмотреть профиль Отправить личное сообщение для gait Найти все сообщения от gait
  № 1  
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.
Старый 29.02.2012, 04:33
-De- вне форума Посмотреть профиль Отправить личное сообщение для -De- Найти все сообщения от -De-
  № 2  
-De-
 
Аватар для -De-

блогер
Регистрация: Oct 2005
Адрес: Днепродзержинск - город Брежнева и других логопедов
Сообщений: 1,421
Записей в блоге: 4
Отправить сообщение для -De- с помощью ICQ Отправить сообщение для -De- с помощью Skype™
Цитата:
Сообщение от gait Посмотреть сообщение
При выполнении сценария ключевое слово this ссылается на объект, содержащий сценарий. В теле метода ключевое слово this ссылается на экземпляр класса, который содержит вызываемый метод.
Ну да, кэп вот подсказывает, что когда нужен "объект, содержащий сценарий", "экземпляр класса, который содержит вызываемый метод", тогда и писать this. Ссылку там на себя передать кому. Без остального можно жить.
UPD: вроде так и не поняли, что же это такое. this - это экземпляр класса, в методе которого этот this написан. Статики живут глобально и отдельно от экземпляров класса (чтоб их вызывать не нужно создавать экземпляр класса, например), нет экземпляра - нет this. Переменные типа класса - все ссылки, потому this - это тоже ссылка (т.е. при присвоении а = б, если а и б - классы, то копирование класса б не происходит, а а и б ссылаются на один обьект и если менять а, то будет меняться и б).
Если что - поищите примеры использования %) И учите, блин, язык, а то чую написал китайскую грамоту =\
__________________
Бобры отвечают на вопросы не потому, что знают на них ответы; они отвечают потому, что их спрашивают.


Последний раз редактировалось -De-; 29.02.2012 в 04:43.
Создать новую тему Закрытая тема Часовой пояс GMT +4, время: 00:51.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:51.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.