2013-04-06 35 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 
}