Javascript:可选参数在函数中

这个问题在这里已经有了答案:

  • 有没有更好的方法来在JavaScript中做可选的函数参数? 29个答案

  • 任何未填充的参数将undefined

    concatenate(a, c)等价于concatenate(a, b) 。 你不能通过第三个参数而不通过第二个参数; 但你可以undefined传递undefined (或null ,我想): concatenate(a, undefined, c)

    在函数中,您可以检查undefined并用默认值替换。

    或者,您可以使用对象参数来模仿关键字参数: concatenate({a: a, c: c})


    只需使用arguments数组对象:

    function concatenate() {
      var result = '';
      for (var i = 0; i < arguments.length; i++) {
        result += arguments[i];
      }
      return result;
    }
    

    使用ES6 rest parameters语法来获取rest parameters数组。 然后简单地join它的项目来检索连接的字符串。

    concatenate(a);
    concatenate(a, b);
    concatenate(a, c);
    
    function concatenate(...args){
      // for old browsers
      // `...args` is an equivalent of `[].slice.call(arguments);`
      return args.join('');
    }
    
    链接地址: http://www.djcxy.com/p/17275.html

    上一篇: Javascript : optional parameters in function

    下一篇: How can I declare optional function parameters in Javascript?