我知道设置默认参数的两种方法,但我想知道首选的方法是什么。
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)发布于 2009-01-20 14:33:42
就我个人而言,我认为第二种形式更干净,可读性更好,当然比谢尔盖的参数检查更好--尽管它有它的位置--但我更喜欢为args传递可扩展对象,而不是维护arg签名。
例如:
function Foo(myArgs)
{
myArgs.par1 = myArgs.par1 || "my default"
myArgs.par2 = myArgs.par2 || "my default"
}发布于 2009-01-20 14:10:28
我通常使用第二个,因为它增加的信号较少。
发布于 2009-01-21 10:57:54
这个怎么样:
function myFunc(arg1, arg2, arg3) {
switch (arguments.length) {
case 0 : arg1 = "default1";
case 1 : arg2 = "default2";
case 2 : arg3 = "default3";
}
}https://stackoverflow.com/questions/461406
复制相似问题