
12.12.2010, 14:08
|
|
блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,601
|
Цитата:
|
Получится "как бы метод" без привязки к классу.
|
Получится как бы функция в публичном поле.
Цитата:
call () метод
AS3 function call(thisObject:Object, parameter1:String = null):void
Язык версии : ActionScript 3.0
Версии среды выполнения: 1.0 9
Вызывает функцию, представленную объектом Function. Каждая функция в ActionScript представлена объектом Function, и все функции поддерживают этот метод.
Почти всегда вместо этого метода можно прибегнуть к оператору вызова функции (()). Оператор вызова функции создает краткий и легко читаемый код. Этот метод полезен, в основном, тогда, когда параметр thisObject вызова функции необходимо контролировать явным образом. Обычно если функция вызывается как метод объекта, находящегося в теле функции, параметру thisObject присваивается значение myObject, как показано в следующем примере:
myObject.myMethod(1, 2, 3);
В некоторых ситуациях может потребоваться, чтобы thisObject указывал на другой объект (например, если функцию необходимо вызвать как метод объекта, но на самом деле она не сохраняется как метод этого объекта):
myObject.myMethod.call(myOtherObject, 1, 2, 3);
Чтобы вызвать функцию в качестве регулярной функции, а не метода объекта, можно присвоить значение null параметру thisObject. Например, эквивалентны следующие вызовы функции:
Math.sin(Math.PI / 4)
Math.sin.call(null, Math.PI / 4)
Возвращает значение, которое вызванная функция указывает в качестве возвращаемого значения.
Параметры
thisObject:Object — Объект, указывающий значение thisObject в теле функции.
parameter1:String (default = null) — Параметр, передаваемый функции. Можно указать 0 или несколько параметров.
|
Мне вот неоднозначно. Имеет ли смысловую нагрузку thisArg в случае методов? Во всех источниках нигде четко не написано - "да знаете, нагрузки не несёт, для методов смысла не имеет". И мне всё таки интересно знать - это что то вроде willTrigger`а в EventDispatcher или я что-то не понимаю.
|