Показать сообщение отдельно
Старый 29.11.2006, 03:09
artcraft вне форума Посмотреть профиль Отправить личное сообщение для artcraft Посетить домашнюю страницу artcraft Найти все сообщения от artcraft
  № 30  
Ответить с цитированием
artcraft
 
Аватар для artcraft

блогер
Регистрация: Aug 2005
Адрес: www.artcraft.cz
Сообщений: 1,967
Записей в блоге: 6
Отправить сообщение для artcraft с помощью ICQ
и куда её еще переносить?
для привязывания функции любым из методов нужна ссылка на функцию и ссылка на то что будет для неё this-ом

Код:
var target:Object = this;
mc.onPress = function(){target.func(params);}
Код:
function createDelegate (obj:Object, func:Function, arg:Array):Function {
	var f = function () {
		var target = arguments.callee.target;
		var func = arguments.callee.func;
		var arg = arguments.callee.arg;
		return func.apply (target, arg);
	};
	f.target = obj;
	f.func = func;
	f.arg = arg;
	return f;
}
mc.onPress = createDelegate (this, func, params);
----
при "плохом" методе мы имеем болше символов и 2-е строки
да согласен "правилный" метод нагляднее, но реально кода больше см. коммент#24 (хотя, безусловно нас это не волнует т.к. это менее важно чем читаемость кода)

то что находится внутри вспомогательной функции не важно - туда ничего добавлять и не надо... потому она и вспомогательная.
"правильный" способ - это ведь тоже вспомогательная функция, там ведь никто не стремится ничего менять...

пока не вижу критических различий
только чистоплюйство...
__________________
Хороший отдых - половина работы.


Последний раз редактировалось artcraft; 29.11.2006 в 03:28.