Я хочу передать необязательный параметр данных для некоторых обратных вызовов, но только для обратных вызовов, поддерживающих один параметр; прямо сейчас, у меня есть кодовая база с умеренным размером обратных вызовов, которые вообще не могут принимать параметр. Как проверить, какие параметры поддерживает объект Function
?
Как определить счетчик аргументов функции во время выполнения в Flex 3?
Ответ 1
Функция - это объект. Каждая функция имеет свойство только для чтения с именем length, которое хранит количество параметров, определенных для функции. Используйте его.
Ответ 2
Если ваша функция объявлена в class
, используйте function
describeType, она вернет XML, который вы сможете проанализировать и посмотреть на ваше имя функции с его аргументами
Ответ 3
Аргумент arguments - это массив всех параметров, переданных в функцию. Возможно, это то, что вы ищете?
function traceArgArray(x:int):void
{
for (var i:uint = 0; i < arguments.length; i++)
{
trace(arguments[i]);
}
}
Пример, взятый из liveocs.adobe.com