如何在javascript中设置可选参数的默认值?

How do I set the default value for an optional argument in Javascript?

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

我正在编写一个带有可选参数的javascript函数,我想为可选参数指定一个默认值。如何分配默认值?

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

1
2
3
4
function(nodeBox,str ="hai")
{
    // ...
}


如果str为空、未定义或0,此代码将设置为"hai"

1
2
3
4
5
function(nodeBox, str) {
  str = str ||"hai";
.
.
.

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

1
2
3
4
5
6
7
function(nodeBox, str) {
  if (typeof str ==="undefined" || str === null) {
    str ="hai";
  }
.
.
.


ES6更新-ES6(ES2015规范)允许默认参数

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

1
2
3
4
function(nodeBox, str="hai")
{
  // ...
}


您也可以使用Arguejs执行此操作:

1
2
3
4
5
6
function (){
  arguments = __({nodebox: undefined, str: [String:"hai"]})

  // and now on, you can access your arguments by
  //   arguments.nodebox and arguments.str
}