【问题标题】:Is JavaScript support default parameters in its functions? [duplicate]JavaScript 在其函数中是否支持默认参数? [复制]
【发布时间】:2015-12-10 10:55:08
【问题描述】:

我想在 javascript 中设置默认参数,可以吗?

jm.toInt = function (num, base=10) {
    return parseInt(num,base);
}

【问题讨论】:

标签: javascript


【解决方案1】:

使用逻辑或,默认值是可能的。

jm.toInt = function (num, base) {
    return parseInt(num, base || 10);
}

【讨论】:

    【解决方案2】:

    当然有办法!

    function myFunc(x,y)
    {
       x = typeof x !== 'undefined' ? x : 1;
       y = typeof y !== 'undefined' ? y : 'default value of y';
       ...
    }
    

    在你的情况下

        jm.toInt = function(num, base){
           return parseInt(num, arguments.length > 1 ? base: 'default value' );
        }
    

    【讨论】:

      【解决方案3】:

      ES6 支持default parameters,但 ES5 不支持,你现在可以使用转译器(如babel)来使用 ES6

      【讨论】:

        【解决方案4】:

        它是part of ES6,但到目前为止,not widely supported 所以你可以做类似的事情

        jm.toInt = function(num, base) {
          return parseInt(num, arguments.length > 1 ? base : 10);
        }

        【讨论】:

        • 使用arguments.length > 1 ?而不是简单的base ?有什么好处
        • @AlexandruSeverin none...在这种情况下,您可以使用上述任何格式....
        【解决方案5】:

        使用typeof 验证参数是否存在(添加括号以便于阅读):

        jm.toInt = function (num, base) {
            var _base = (typeof base === 'undefined') ? 10 : base
            return parseInt(num, _base);
        }
        

        【讨论】:

          猜你喜欢
          • 2013-01-17
          • 2012-12-01
          • 2010-11-03
          • 1970-01-01
          • 1970-01-01
          • 2012-12-04
          • 2021-12-22
          • 1970-01-01
          相关资源
          最近更新 更多