Использование массива arguments
Аргументы функции обслуживаются в массиве. Внутри функции вы можете адресовать передаваемые ей аргументы таким образом:
где
i это порядковый номер аргумента, начиная с 0. Итак, первым аргументом, передаваемым функции, будет
arguments[0]. Общее количество аргументов обозначается свойством
arguments.length.
Используя массив
arguments, вы можете вызывать функцию с бòльшим количеством аргументов, чем она принимает по формальному объявлению. Это часто используется в тех случаях, когда вы заранее не знаете, сколько аргументов будет передано функции. Вы можете использовать
arguments.length для определения реального количества аргументов, передаваемых функции, и затем просматривать каждый аргумент в массиве
arguments.
Например, рассмотрим функцию, объединяющую несколько строк. Единственным формальным аргументом функции является строка, специфицирующая символ-разделитель объединяемых строк. Функция определяется так:
function myConcat(separator) {
var result="" for (var i=1; i<arguments.length; i++) {
result += arguments[i] + separator
}
return result
}
Вы можете передать этой функции любое количество аргументов, и она создаст список, используя каждый аргумент как элемент этого списка.
myConcat(", ","red","orange","blue")
myConcat("; ","elephant","giraffe","lion", "cheetah")
myConcat(". ","sage","basil","oregano", "pepper", "parsley")
Массив
arguments является свойством объекта
Function, и ему может предшествовать имя функции таким образом:
functionName.arguments[i]