我知道两种设置默认参数的方法,但我想知道首选方法是什么。

function Foo(par1, par2)
{
    if(par2 == null)
        par2 = "my default"
}

或者
function Foo(par1, par2)
{
    par2 = par2 || "my default"
}

或者有比这两种方法更好的方法吗?

编辑:

我还想知道其他人如何处理多个可选参数,例如:
我们在内部库中有几个这样的函数(我认为它们很丑陋)。
function Foo(par1, par2, par3)
{
    if(par2 == null)
        par2 = "my default"
    if(par3 == null)
        par3 = "my default"
    // Do something
}

并称之为:
Foo("Parameter one",null,true)

最佳答案

就我个人而言,我认为第二种形式完全更简洁、更具可读性,当然比 sergey 的参数检查更重要——尽管它可以有它的位置——但我更喜欢为 args 传递可扩展对象,而不是必须维护 arg 签名。

例如

function Foo(myArgs)
{
    myArgs.par1 = myArgs.par1 || "my default"
    myArgs.par2 = myArgs.par2 || "my default"
}

关于javascript - 在 javascript 中设置默认参数值的最有效方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/461406/

10-10 11:06