国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

舉例說明如何為JavaScript的方法參數設置默認值

2024-05-06 16:25:08
字體:
來源:轉載
供稿:網友

這篇文章主要介紹了舉例說明如何為JavaScript的方法參數設置默認值,參數默認值的設置是JS入門學習中的基礎知識,需要的朋友可以參考下

你是否遇到過這樣的情況,寫了個function,無參數。

 

 
  1. function showUserInfo(){ 
  2. alert("你好!我是小明。"); 
  3.  
  4. function showUserInfo(){  
  5. alert("你好!我是小明。");  
  6. }  

調用:

 

 
  1. showUserInfo(); 
  2.  
  3. showUserInfo();  

后來,發現其他地方也需要這個function,但是有變量值已經在function里面寫死了,怎么辦?加個參數吧。

 

 
  1. function showUserInfo(name){ 
  2. name=name||"小明"
  3. alert("你好!我是"+name+"。"); 
  4.  
  5. function showUserInfo(name){  
  6. name=name||"小明";  
  7. alert("你好!我是"+name+"。");  
  8. }  

說明一下:name=name||"小明" 這句代碼的意思是如果name為null就等于默認值“小明”。也可以這樣寫:

 

 
  1. function showUserInfo(name){ 
  2. // name=name||"小明"; 
  3. if(!name){ 
  4. name="小明"
  5. alert("你好!我是"+name+"。"); 
  6.  
  7. function showUserInfo(name){  
  8. // name=name||"小明";  
  9. if(!name){  
  10. name="小明";  
  11. }  
  12. alert("你好!我是"+name+"。");  
  13. }  

調用:

 

 
  1. showUserInfo('小李'); 
  2.  
  3. showUserInfo('小李');  

后來,需求又變了,需要加上年齡。好吧再改:

 

 
  1. function showUserInfo(name,age){ 
  2. name=name||"小明"
  3. age=age||22; 
  4. alert("你好!我是"+name+",今年"+age+"歲。"); 
  5.  
  6. function showUserInfo(name,age){  
  7. name=name||"小明";  
  8. age=age||22;  
  9. alert("你好!我是"+name+",今年"+age+"歲。");  
  10. }  

調用:

 

 
  1. showUserInfo('小李');//結果:你好!我是小李,今年22歲。 
  2. showUserInfo('小李',19);//結果:你好!我是小李,今年19歲。 
  3. showUserInfo(null,19);//結果:你好!我是小明,今年19歲。 
  4.  
  5. showUserInfo('小李');//結果:你好!我是小李,今年22歲。  
  6. showUserInfo('小李',19);//結果:你好!我是小李,今年19歲。  
  7. showUserInfo(null,19);//結果:你好!我是小明,今年19歲。  

好了,如果我們需要再添加生日、電話、性別、QQ等等參數,又該怎么辦呢?一個一個的設置默認值嗎?實際上,我看到很多人確實是這樣做的。下面我們來看一個更簡單的方式。那就是使用Jquery的擴展。先看代碼:

 

 
  1. function showUserInfo(setting){ 
  2. var defaultSetting={ 
  3. name:"小明"
  4. age:"22"
  5. sex:"男"
  6. phone:"13888888888"
  7. QQ:"12345678"
  8. birthday:"1980.12.29" 
  9. }; 
  10. $.extend(defaultSetting,settings); 
  11. var message='姓名:'+defaultSetting.name 
  12. +',性別:'+defaultSetting.sex 
  13. +',年齡:'+defaultSetting.age 
  14. +',電話:'+defaultSetting.phone 
  15. +',QQ:'+defaultSetting.QQ 
  16. +',生日:'+defaultSetting.birthday 
  17. +'。'
  18. alert(message); 
  19.  
  20.  
  21. function showUserInfo(setting){  
  22. var defaultSetting={  
  23. name:"小明",  
  24. age:"22",  
  25. sex:"男",  
  26. phone:"13888888888",  
  27. QQ:"12345678",  
  28. birthday:"1980.12.29" 
  29. };  
  30.  
  31. $.extend(defaultSetting,settings);  
  32.  
  33. var message='姓名:'+defaultSetting.name  
  34. +',性別:'+defaultSetting.sex  
  35. +',年齡:'+defaultSetting.age  
  36. +',電話:'+defaultSetting.phone  
  37. +',QQ:'+defaultSetting.QQ  
  38. +',生日:'+defaultSetting.birthday  
  39. +'。';  
  40. alert(message);  
  41. }  

說明:$.extend(defaultSetting,settings)的作用就是將傳入的setting配置與defaultSetting合并,并用setting中的配置覆蓋defaultSetting的配置。

調用:

 

 
  1. showUserInfo({ 
  2. name:"小李" 
  3. }); 
  4. //結果:姓名:小李,性別:男,年齡:22,電話:13888888888,QQ:12345678,生日:1980.12.29。 
  5. showUserInfo({ 
  6. name:"小紅"
  7. sex:"女"
  8. phone:"13777777777" 
  9. }); 
  10. //結果:姓名:小紅,性別:女,年齡:22,電話:13777777777,QQ:12345678,生日:1980.12.29。 
  11.  
  12.  
  13.  
  14.  
  15. showUserInfo({  
  16. name:"小李" 
  17. });  
  18. //結果:姓名:小李,性別:男,年齡:22,電話:13888888888,QQ:12345678,生日:1980.12.29。  
  19. showUserInfo({  
  20. name:"小紅",  
  21. sex:"女",  
  22. phone:"13777777777" 
  23. });  
  24. //結果:姓名:小紅,性別:女,年齡:22,電話:13777777777,QQ:12345678,生日:1980.12.29。  

很簡單吧!這樣,就算有100個參數,都不怕了。

那么什么時候使用多個參數,什么時候使用這樣的參數對象呢?我的經驗是,根據實際需要,如果使用一、兩個參數就可以搞定的就不使用參數對象。超過3個,我就會使用這種參數對象。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 营山县| 哈巴河县| 南部县| 洛浦县| 安图县| 资中县| 沧州市| 阳原县| 吐鲁番市| 乐安县| 迭部县| 昌都县| 西宁市| 佛学| 邯郸市| 潞城市| 永寿县| 来凤县| 德清县| 麻城市| 正定县| 顺平县| 常熟市| 克山县| 延津县| 安塞县| 黑水县| 海原县| 安陆市| 中阳县| 耒阳市| 卢龙县| 岳池县| 靖西县| 长兴县| 汝城县| 珲春市| 富阳市| 广平县| 铜梁县| 淅川县|