2013-04-06 104 views
0

所以我想写一个需要3个参数的函数,第三个参数是可选的。我想检查一下,如果可选不存在,则给它一个默认值。有一个IF没有做到这一点?如果不是那么最好的办法是什么?JS如果不是变量

这就是我想要

foo.(x,y, opt){ 
if (!opt){opt = 1;} 
...... 
...... 
} 

这是我有:

foo.(x,y, opt){ 
if (opt){} 
else {opt = 1;}; 
...... 
...... 
} 
+2

你的两个版本是等价的,我认为。 – Barmar 2013-04-06 05:34:30

回答

2

如果该参数不传递给函数,它的undefined

function foo(x, y, opt){ 
    if(typeof opt === 'undefined'){ 
     opt = 1; 
    } 
    ... 
} 
1

在javascript中,你可以添加默认值是这样的:

function foo(x,y,opt){ 
if(typeof(opt)==='undefined') opt = 1; 
//your code 
}