代码之家  ›  专栏  ›  技术社区  ›  Meir Keller

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

  •  2
  • Meir Keller  · 技术社区  · 6 年前

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

    为什么不呢 foo(, b)

    2 回复  |  直到 6 年前
        1
  •  5
  •   CertainPerformance    6 年前

    可以显式传递 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' });
        2
  •  1
  •   Pritam Banerjee Ashish Karnavat    6 年前

    arguments

    function foo() {
      for (var i = 0; i < arguments.length; i++) {
        console.log(arguments[i] + " ");
      }
    }
    
    
    foo("a", );

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