Как вызвать функцию с неограниченными параметрами

Я согласен с ответом от zacherates.

Но вы можете сделать вызов intern () в ваших нелиберальных строках.

Из примера zacherates:

// ... but they are not the same object
new String("test") == "test" ==> false 

Если вы ставите нелитеральное равенство строки, это правда

new String("test").intern() == "test" ==> true 
-3
задан wkornilow 13 July 2018 в 11:02
поделиться

2 ответа

ИМХО, вам не нужно ничего делать. JavaScript оснащен Arguments aobject , arguments является зарезервированным ключевым словом, которое вы можете использовать следующим образом:

function unlimitedArgs() {
  console.log(arguments)
}

unlimitedArgs(2,4, 'v1');

unlimitedArgs(2,4, 'v1', [2,4,5], "some other value");

Или вы можете использовать spread operator , чтобы сделать что-то вроде этого:

function unlimitedArgs(...gatherer) {
  console.log(gatherer)
}

unlimitedArgs(2,4, 'v1');

unlimitedArgs(2,4, 'v1', [2,4,5], "some other value");

ПРИМЕЧАНИЕ : Если вы используете оператор спредов, контейнерная переменная (т.е. gatherer) будет иметь тип Array.

2
ответ дан BlackBeard 17 August 2018 в 13:16
поделиться

может быть, этот пример помогает

function printNames(...names) {
  console.log(`number of arguments: ${names.length}`);
  for (var name of names) {
    console.log(name);
  }
}

printNames('foo', 'bar', 'baz');

. Какими бы ни были аргументы, вы можете передавать неограниченные аргументы и обращаться к ним так же, как и выше.

1
ответ дан Shikha thakur 17 August 2018 в 13:16
поделиться
Другие вопросы по тегам:

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