1、在ES6之前,必須在函數內通過其它方式實現
比如:
以下示例轉自:https://www.cnblogs.com/sntetwt/p/4174224.html
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(name,age){ name=name||'貂蟬'; age=age||21; alert('你好!我是'+name+',今年'+age+'歲。'); }
function example(name,age){ if(!name){name='貂蟬';} if(!age){age=21;} alert('你好!我是'+name+',今年'+age+'歲。'); }
function example(setting){ var defaultSetting={ name:'貂蟬', age:'30', sex:'女', phone:'13611876347', QQ:'10086', 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:'10089' });
2、ES6中可以像其它編程語言那樣直接使用默認參數了
function myFunction(x = 1, y = 2, z = 3) { console.log(x, y, z); // Outputs "1 7 9" } myFunction(undefined,7,9);