javascript在其函数中是否支持默认参数?

Is JavaScript support default parameters in its functions?

本问题已经有最佳答案,请猛点这里访问。

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

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


使用逻辑或,可以使用默认值。

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

当然有办法!

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

以你为例

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


它是ES6的一部分,但到目前为止,还没有得到广泛的支持,因此您可以执行类似的操作

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


ES6支持默认参数,但是ES5不支持,您现在可以使用蒸腾器(比如babel)来使用ES6。


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

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