JavaScript 在其函数中是不是支持默认参数? [复制]
Posted
技术标签:
【中文标题】JavaScript 在其函数中是不是支持默认参数? [复制]【英文标题】: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);
【问题讨论】:
developer.mozilla.org/en/docs/Web/JavaScript/Reference/… ...查看浏览器支持... 【参考方案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);
【讨论】:
以上是关于JavaScript 在其函数中是不是支持默认参数? [复制]的主要内容,如果未能解决你的问题,请参考以下文章