1. 程式人生 > >js中對函式設定預設引數值的3種方法

js中對函式設定預設引數值的3種方法

第一種方法:

function example(a,b){ 
  var a = arguments[0] ? arguments[0] : 1;//設定引數a的預設值為1 
  var b = arguments[1] ? arguments[1] : 2;//設定引數b的預設值為2 
  return a+b; 
} 

注意以上函式也可寫作如下:

function example(){ 
  var a = arguments[0] ? arguments[0] : 1;//設定第一個引數的預設值為1 
  var b = arguments[1] ? arguments[1] : 2;//設定第二個引數的預設值為2 
return a+b; }

呼叫示例:

alert( example() ); //輸出3 
alert( example(10) ); //輸出12 
alert( example(10,20) ); //輸出30 
alert( example(null,20) ); //輸出20 

第二種方法:

function example(name,age){ 
  name=name||'貂蟬'; 
  age=age||21; 
  alert('你好!我是'+name+',今年'+age+'歲。'); 
} 

該函式也可以寫作如下:

function example(name,age)
{
if(!name){name='貂蟬';} if(!age){age=21;} alert('你好!我是'+name+',今年'+age+'歲。'); }

呼叫示例:

example('王五');//輸出:你好!我是王五,今年21歲。  
example('王五',30);//輸出:你好!我是王五,今年30歲。  
example(null,30);//輸出:你好!我是貂蟬,今年30歲。 

第三種方法,這種方法適合用於引數較多的情況,使用了Jquery的擴充套件:

function example(setting){ 
  var defaultSetting={ 
    name:'小紅'
, age:'30', sex:'女', phone:'100866', QQ:'100866', birthday:'1949.10.01' }; $.extend(defaultSetting,settings); var message='姓名:'+defaultSetting.name +',性別:'+defaultSetting.sex +',年齡:'+defaultSetting.age +',電話:'+defaultSetting.phone +',QQ:'+defaultSetting.QQ +',生日:'+defaultSetting.birthday +'。'; alert(message); } 呼叫示例: example({ name:'小紅', sex:'女', phone:'100866' }); //輸出:姓名:小紅,性別:女,年齡:30,電話:100866,QQ:100866。