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

我正在写一个可选参数的Javascript函数,我想分配可选参数的默认值。 我怎样才能给它分配一个默认值?

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

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

如果str为null,undefined或0,这段代码会将其设置为“hai”

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

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

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

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

以下在ES6(ES015)环境中工作得很好…

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

我可以得到一个地狱呀!?!

你也可以用ArgueJS来做到这一点 :

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