第一種:
function test(a,b){ var a = arguments[0] ? arguments[0] : 1;//設置參數a的默認值為1 var b = arguments[1] ? arguments[1] : 9;//設置參數b的默認值為9 return a+b;
其等價為
function test(){ var a = arguments[0] ? arguments[0] : 1;//設置參數a的默認值為1 var b = arguments[1] ? arguments[1] : 9;//設置參數b的默認值為9 return a+b; }
調用示例
alert(test()); //輸出10 alert(test(5)); //輸出14 alert(test(5,6)); //輸出11 alert(test(null,6)); //輸出7 alert(test(6,null)); //輸出15
第二種:
function test(blog,address){ blog=blog||'淡忘~淺思'; address=address||'www.jb51.net'; alert('博客名是'+blog+'的地址是'+address); }
其等價為
function test(blog,address){ if(!blog){blog='淡忘~淺思';} if(!address){address='www.jb51.net';} alert('博客名是'+blog+'的地址是'+address); }
調用示例
test(); //博客名是淡忘~淺思的地址是www.jb51.net test('csdn','blog.csdn.net'); //博客名是csdn的地址是blog.csdn.net test('','blog.csdn.net/u011043843'); //博客名是淡忘~淺思
第三種:
function test(setting){ var defaultSetting={ name:'程序愛好者', age:'1', phone:'15602277510', QQ:'259280570', message:'歡迎你的加入' }; $.extend(defaultSetting,setting); var msg='姓名:'+defaultSetting.name +',年齡:'+defaultSetting.age +',電話:'+defaultSetting.phone +',QQ群:'+defaultSetting.QQ +',說明:'+defaultSetting.message +'。'; alert(msg); }
調用示例
test(); //輸出:姓名:程序愛好者,年齡:1,電話:15602277510,QQ群:259280570,說明:歡迎你的加入。 test({ name:'dwqs', age:'20', QQ:'461147874', message:'博客:www.jb51.net' }); //輸出:姓名:dwqs,年齡:20,電話:15602277510,QQ群:461147874,說明:博客:www.jb51.net。
ps:函數參數比較多時,可以用此方法。這是JQuery的一種擴展,所以需要引入JQuery。