为了账号安全,请及时绑定邮箱和手机立即绑定

是否有更好的方法在JavaScript中执行可选的函数参数?

是否有更好的方法在JavaScript中执行可选的函数参数?

手掌心 2019-07-04 10:09:43
是否有更好的方法在JavaScript中执行可选的函数参数?我一直在JavaScript中处理可选参数,如下所示:function myFunc(requiredArg, optionalArg){   optionalArg = optionalArg || 'defaultValue';   // Do stuff}有更好的方法吗?是否有使用||就像那样会失败吗?
查看完整描述

3 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

如果optionalarg被传递,您的逻辑就会失败,但计算结果为false-尝试将此作为替代方法。

if (typeof optionalArg === 'undefined') { optionalArg = 'default'; }

或者另一种成语:

optionalArg = (typeof optionalArg === 'undefined') ? 'default' : optionalArg;

用任何一种成语最能传达你的意图!


查看完整回答
反对 回复 2019-07-04
?
开心每一天1111

TA贡献1836条经验 获得超13个赞

在ECMAScript 2015(又名“ES6”)中,您可以在函数声明中声明默认参数值:

function myFunc(requiredArg, optionalArg = 'defaultValue') {
    // do stuff}

更多关于他们的这篇关于MDN的文章.

这是目前仅受Firefox支持,但随着标准的完成,预计支持将迅速改善。

默认参数现在被现代浏览器广泛支持。所有版本的InternetExplorer都不支持此功能。然而,Chrome、Firefox和Edge目前都支持它。


查看完整回答
反对 回复 2019-07-04
?
30秒到达战场

TA贡献1828条经验 获得超6个赞

我发现这是最简单、最易读的方法:

if (typeof myVariable === 'undefined') { myVariable = 'default'; }//use myVariable here

保罗·狄克逊的回答(在我看来是卑微的观点)比这更难理解,但它可以归结为偏好。

Insin的答案更高级,但对于大型功能更有用!

我为Node.js创建了一个包,它使“重载”函数(方法)变得更容易,称为参数化.


查看完整回答
反对 回复 2019-07-04
  • 3 回答
  • 0 关注
  • 355 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信