Показать сообщение отдельно
Старый 20.05.2010, 16:22
Котяра вне форума Посмотреть профиль Отправить личное сообщение для Котяра Посетить домашнюю страницу Котяра Найти все сообщения от Котяра
  № 13  
Котяра
буду краток
 
Аватар для Котяра

модератор форума
Регистрация: Sep 2003
Адрес: Ближайшее Замкадье
Сообщений: 3,110
Записей в блоге: 28
Отправить сообщение для Котяра с помощью ICQ Отправить сообщение для Котяра с помощью Skype™
Цитата:
например, если это будет несвязанная ф-ия, в которой будет использован this, то при передаче этот this будет ссылаться на объект, в чей метод мы передали ф-ию => объект запустит в себя троянского коня, который сможет изнутри его расколбасить как угодно)))
Это есть в AS2 - там вообще даже методы классов на самом деле несвязные.
В AS3 анонимная ф-ция превращается в некое свойство какого-то глобального класса (Context?).
Код AS3:
package 
{
	import flash.display.Sprite;
	import flash.events.Event;
 
	public class Main extends Sprite 
	{
 
		public function Main():void 
		{
			if (stage) a();
			else addEventListener(Event.ADDED_TO_STAGE, a);
		}
 
		private function a(e:Event = null):void 
		{
			removeEventListener(Event.ADDED_TO_STAGE, init);
			// entry point
			trace("a:" + this)
			function b():void { trace("b:" + this); };
			b();
		}
 
	}
 
}
Цитата:
a:[object Main]
b:[object global]
__________________
Отряд Котовскага


Последний раз редактировалось Котяра; 20.05.2010 в 16:31.