js 的函數參數的默認值問題

js函數參數設置默認值

 

php有個很方便的用法是在定義函數時能夠直接給參數設默認值,如: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){}會提示缺乏對象。html

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
相關文章
相關標籤/搜索