当前位置:  开发笔记 > 编程语言 > 正文

在javascript中设置默认参数值的最有效方法是什么?

如何解决《在javascript中设置默认参数值的最有效方法是什么?》经验,为你挑选了1个好方法。

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

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)

jishi.. 5

第一个实际上是错误的,因为它们将是未定义的,而不是空的.

par2 !== null 对于这种情况会返回true.

因为javascript,如果松散比较,将null,undefined,false比较为相同的值,我建议明确检查一个未定义的值.

if (par2 !== undefined)
        par2 = "my default";

要么

    par2 = par2 !== undefined ? par2 : "my default";

这将允许您传递false或null之类的值.

但是,您的第二种方法很方便,但只有在您知道永远不会传递false或null的情况下.



1> jishi..:

第一个实际上是错误的,因为它们将是未定义的,而不是空的.

par2 !== null 对于这种情况会返回true.

因为javascript,如果松散比较,将null,undefined,false比较为相同的值,我建议明确检查一个未定义的值.

if (par2 !== undefined)
        par2 = "my default";

要么

    par2 = par2 !== undefined ? par2 : "my default";

这将允许您传递false或null之类的值.

但是,您的第二种方法很方便,但只有在您知道永远不会传递false或null的情况下.

推荐阅读
凹凸曼00威威_694
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有