Клиентский JavaScript 1.3

         

Использование массива arguments


Аргументы обрабатываются в массиве. В функции Вы можете адресовать параметры, передаваемые ей:

arguments[i]
functionName.arguments[i]

где i это порядковый номер аргумента, начиная с 0. Таким образом, первый аргумент, передаваемый функции, это arguments[0]. Общее число аргументов указывается свойством arguments.length.

Используя массив arguments, Вы можете вызвать функцию с большим количеством аргументов, чем объявлено в формальном определении. Это часто используется, если заранее не известно точное количество аргументов, передаваемых функции. Вы можете использовать arguments.length для определения количества аргументов, реально передаваемых функции, а затем работать с каждым аргументом с использованием массива arguments.

Например, рассмотрим функцию, которая объединяет несколько строк. Единственным формальным аргументом для этой функции является строка, которая специфицирует символы, разделяющие объединяемые элементы. Функция определена так:

function myConcat(separator) {
result="" // инициализирует список
   // итерирует по аргументам
   for (var i=1; i<arguments.length; i++) {
      result += arguments[i] + separator
   }
   return result
}

Вы можете передать этой функции любое количество аргументов, и она создаст список, используя каждый аргумент как элемент списка.

// возвращает "red, orange, blue, "
myConcat(", ","red","orange","blue") // возвращает "elephant; giraffe; lion; cheetah;"
myConcat("; ","elephant","giraffe","lion", "cheetah") // возвращает "sage. basil. oregano. pepper. parsley. "
myConcat(". ","sage","basil","oregano", "pepper", "parsley")

См. статью об объекте Function в книге Клиентский JavaScript. Справочник.



Содержание раздела