JavaScript переменное число аргументов для функции

Много ответов здесь, но все еще неполное!

Я нашел другой случай, когда деструкторы не выполняются. Это происходит всегда, когда исключение попадает на границу библиотеки.

Подробнее см. Здесь:

Деструкторы не выполняются (без разворачивания стека), когда выбрано исключение

488
задан bluish 8 April 2011 в 09:50
поделиться

4 ответа

Конечно, просто используйте аргументы объект.

function foo() {
  for (var i = 0; i < arguments.length; i++) {
    console.log(arguments[i]);
  }
}
786
ответ дан 22 November 2019 в 22:35
поделиться

Другой вариант - пройти в свои аргументы в объекте контекста.

function load(context)
{
    // do whatever with context.name, context.address, etc
}

И используйте его вроде этого

load({name:'Ken',address:'secret',unused:true})

Это имеет преимущество, которое вы можете добавить столько именованных аргументов, как вы хотите, и функция может использовать их (или нет), поскольку она видит в форме.

111
ответ дан 22 November 2019 в 22:35
поделиться

Да, так же, как это:

function load()
{
  var var0 = arguments[0];
  var var1 = arguments[1];
}

load(1,2);
18
ответ дан 22 November 2019 в 22:35
поделиться

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

5
ответ дан 22 November 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: