mozilla
您的搜索结果

    默认参数值

    该特性处于 ECMAScript 6 规范草案中,目前的实现在未来可能会发生微调,请谨慎使用。

    如果一个形参没有被传入对应的实参或者传入了undefined,则该形参会被赋一个默认值.

    语法

    function f(a, b = 37) {
      // 在调用时,如果没有传入第二个参数,或者传入了undefined.则b的值会成为37.
    }
    

    例子

    function multiply(a, b = 1) {
      return a*b;
    }
    
    multiply(5); // 5
    

    如果不指定默认参数值1,则b的值会成为undefined,那么该函数会返回NaN,所以有种常见的解决办法是b = b || 1.

    function setBackgroundColor(element, color = 'rosybrown') {
      element.style.backgroundColor = color;
    }
    
    setBackgroundColor(someDiv);            // color的值为'rosybrown'
    setBackgroundColor(someDiv, undefined); // color的值为'rosybrown'
    setBackgroundColor(someDiv, 'blue');    // color的值为'blue' 
    

    第二次函数调用中,即使显示的传入了undefined,color参数的值也会取默认值.

    浏览器兼容性

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
    Basic support 未实现 15 (15) 未实现 未实现 未实现
    Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
    Basic support 未实现 15.0 (15) 未实现 未实现 未实现

    规范

     

    文档标签和贡献者

    此页面的贡献者有: ziyunfei, teoli
    最后编辑者: teoli,
    隐藏侧边栏