Можно ли определить, имеет ли функция аргументы? Можно ли знать, если моя функция принимает vars? Например: function ada (v) {}; function dad () {}; alert(ada.hasArguments()); // true alert(dad.hasArguments()); // false Ответ 1 Да. Свойство length функции возвращает количество объявленных аргументов: alert(ada.length); // 1 alert(dad.length); // 0 Ответ 2 Функция length представляет собой количество формальных параметров. Обратите внимание, что это не обязательно равно количеству фактических параметров: function foo(one, two, three) { return foo.length === arguments.length; } foo("test"); foo("test", "test", "test"); Вывод: false true
Ответ 1 Да. Свойство length функции возвращает количество объявленных аргументов: alert(ada.length); // 1 alert(dad.length); // 0
Ответ 2 Функция length представляет собой количество формальных параметров. Обратите внимание, что это не обязательно равно количеству фактических параметров: function foo(one, two, three) { return foo.length === arguments.length; } foo("test"); foo("test", "test", "test"); Вывод: false true