среда, 23 февраля 2011 г.

Переменное количество аргументов в функции или что такое arguments

Рано или поздно у новичков появляется задача, создать функцию с переменным количеством аргументов, и они задаются вопросами типа:

  • "Как создать функцию с переменным количеством аргументов"
  • "Как создать функцию с необязательными параметрами"
  • и так далее, и тому подобные вопросы :)
В каждой функции есть переменная под именем arguments. Именно с помощью этой переменной мы можем обратится ко всем аргументам переданных функции.
Вот простой пример:

function myFunc() {
   alert(arguments[0]);
   alert(arguments[1]);
   alert(arguments[2]);
}

myFunc(1, 2, 3);
Мы передали функции 3 аргумента и с помощью переменной arguments отобразили их в alert-сообщении.

При описании функции не обязательно указывать имена аргументам.
Так же переменная arguments содержит метод length. С помощью данного метода мы можем узнать сколько аргументов было передано функции.

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

function sum() {
   var summa = 0;
   for(i=0; i < arguments.length; i++)
      summa += arguments[i];
   alert('Сумма всех аргументов: '+summa);
}

sum(1, 3, 22, 55, 107, 39);

Ну вот примерно и все.

Комментариев нет:

Отправить комментарий