无论如何,在JavaScript中是否可以忽略函数调用中的某些参数?

时间:2018-10-03 23:58:38

标签: javascript

就像数组解构一样,我们可以执行以下操作:

let [, b] = [1, 2, 3, 4, 5]

那为什么不foo(, b)呢?

2 个答案:

答案 0 :(得分:5)

您可以显式传递undefined作为第一个参数来实现相同的目的:

function foo(item1, item2) {
  console.log(item1, item2);
}
foo(undefined, 'b')

此外,如果函数接受数组或对象,则可以只传递仅包含您希望其包含的属性的数组或对象:

function foo(arr) {
  console.log(arr[0], arr[1]);
}
foo([, 'b']);

function foo({ a, b }) {
  console.log(a, b);
}
foo({ b: 'b' });

答案 1 :(得分:1)

您可以像这样使用index.row() == 0对象:

timer.setInterval(1)

这样,您可以使用任意数量的参数,除非需要,否则无需定义函数中的每个参数。