【问题标题】:How do I set the default value for an optional argument in Javascript? [duplicate]如何在 Javascript 中设置可选参数的默认值? [复制]
【发布时间】:2011-10-06 17:21:04
【问题描述】:

我正在编写一个带有可选参数的 Javascript 函数,并且我想为可选参数分配一个默认值。如何为其分配默认值?

我以为会是这样,但它不起作用:

function(nodeBox,str = "hai")
{
    // ...
}

【问题讨论】:

标签: javascript


【解决方案1】:

如果str 为 null、未定义或 0,此代码会将其设置为“hai”

function(nodeBox, str) {
  str = str || "hai";
.
.
.

如果还需要传0,可以使用:

function(nodeBox, str) {
  if (typeof str === "undefined" || str === null) { 
    str = "hai"; 
  }
.
.
.

【讨论】:

  • @Roayl:这也适用于false,如果你的意思是这样的话。
  • 没有默认值应该为真。我的意思是如果我不通过参数,它应该是真的
  • 好的,我只将默认设置为 false。无需设置为假。默认为假。
  • 如果你没有传递的变量最终被认为是真实的,那将是违反直觉的。
【解决方案2】:

ES6 更新 - ES6 (ES2015 specification) 允许 default parameters

以下内容在 ES6 (ES015) 环境中可以正常工作...

function(nodeBox, str="hai")
{
  // ...
}

【讨论】:

    【解决方案3】:

    您也可以使用ArgueJS

    function (){
      arguments = __({nodebox: undefined, str: [String: "hai"]})
    
      // and now on, you can access your arguments by
      //   arguments.nodebox and arguments.str
    }
    

    【讨论】:

      猜你喜欢
      • 2011-03-03
      • 2011-02-13
      • 2010-11-05
      • 1970-01-01
      • 2013-11-05
      • 2023-03-27
      • 2019-05-23
      • 2010-10-28
      相关资源
      最近更新 更多