首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在javascript中设置默认参数值的最有效方法是什么?

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

Stack Overflow用户
提问于 2009-01-20 14:05:08
回答 9查看 899关注 0票数 3

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

代码语言:javascript
复制
function Foo(par1, par2)
{
    if(par2 == null)
        par2 = "my default"
}

代码语言:javascript
复制
function Foo(par1, par2)
{
    par2 = par2 || "my default"
}

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

编辑:

我还想知道其他人是如何处理多个可选参数的,比如:我们在内部库中有几个这样的函数(我认为它们相当难看)。

代码语言:javascript
复制
function Foo(par1, par2, par3)
{
    if(par2 == null)
        par2 = "my default"
    if(par3 == null)
        par3 = "my default"
    // Do something
}

并将其称为:

代码语言:javascript
复制
Foo("Parameter one",null,true)
EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2009-01-20 14:33:42

就我个人而言,我认为第二种形式更干净,可读性更好,当然比谢尔盖的参数检查更好--尽管它有它的位置--但我更喜欢为args传递可扩展对象,而不是维护arg签名。

例如:

代码语言:javascript
复制
function Foo(myArgs)
{
    myArgs.par1 = myArgs.par1 || "my default"
    myArgs.par2 = myArgs.par2 || "my default"
}
票数 2
EN

Stack Overflow用户

发布于 2009-01-20 14:10:28

我通常使用第二个,因为它增加的信号较少。

票数 3
EN

Stack Overflow用户

发布于 2009-01-21 10:57:54

这个怎么样:

代码语言:javascript
复制
function myFunc(arg1, arg2, arg3) {
    switch (arguments.length) {
        case 0 : arg1 = "default1";
        case 1 : arg2 = "default2";
        case 2 : arg3 = "default3";
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/461406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档