Подтвердить что ты не робот

Как определить счетчик аргументов функции во время выполнения в Flex 3?

Я хочу передать необязательный параметр данных для некоторых обратных вызовов, но только для обратных вызовов, поддерживающих один параметр; прямо сейчас, у меня есть кодовая база с умеренным размером обратных вызовов, которые вообще не могут принимать параметр. Как проверить, какие параметры поддерживает объект Function?

4b9b3361

Ответ 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