JavaScript 单参数或数组

Luk*_*988 1 javascript

我有一个 JavaScript 函数,它当前接受一个参数:

foo(country) { ... } 所以像这样使用 foo('US')

我需要扩展此功能以接受一个或多个国家/地区:

foo('US')
foo('US', 'CA', 'UK')
foo(['US', 'CA', 'UK'])
Run Code Online (Sandbox Code Playgroud)

是否有任何语法/关键字功能?在 C# 中,我们有一个params关键字

Jar*_*ith 5

使用聚集:

function(...args) {
   // do something with args
}
Run Code Online (Sandbox Code Playgroud)

这通常被认为比使用更可取,arguments因为参数是一种奇怪的情况:它不是真正的数组,因此有时您仍然会看到尴尬的旧习语:

var args = Array.prototype.slice.call(arguments);
Run Code Online (Sandbox Code Playgroud)

  • FWIW,它被称为“剩余参数”。 (3认同)