1. 程式人生 > >js函式引數設定預設值

js函式引數設定預設值

php有個很方便的用法是在定義函式時可以直接給引數設預設值,如:

function simue ($a=1,$b=2){
  return $a+$b;
}
echo simue(); //輸出3
echo simue(10); //輸出12
echo simue(10,20); //輸出30

但js卻不能這麼定義,如果寫function simue(a=1,b=2){}會提示缺少物件。

js函式中有個儲存引數的陣列arguments ,所有函式獲得的引數會被編譯器挨個儲存到這個陣列中。於是我們的js版支援引數預設值的函式可以通過另外一種變通的方法實現,修改上例:

function simue ()
{
var a = arguments[0] ? arguments[0] : 1; var b = arguments[1] ? arguments[1] : 2; return a+b; } alert( simue() ); //輸出3 alert( simue(10) ); //輸出12 alert( simue(10,20) ); //輸出30