淺談Javascript中預設參數值的設定,淺談javascript

來源:互聯網
上載者:User

淺談Javascript中預設參數值的設定,淺談javascript

第一種:

   1: function test(a,b){
   2:    var a = arguments[0] ? arguments[0] : 1;//設定參數a的預設值為1
   3:    var b = arguments[1] ? arguments[1] : 9;//設定參數b的預設值為9
   4:    return a+b;

其等價為

   1: function test(){
   2: var a = arguments[0] ? arguments[0] : 1;//設定參數a的預設值為1
   3: var b = arguments[1] ? arguments[1] : 9;//設定參數b的預設值為9
   4: return a+b;
   5: }

調用樣本

   1: alert(test());  //輸出10
   2: alert(test(5));   //輸出14
   3: alert(test(5,6));  //輸出11
   4: alert(test(null,6));  //輸出7
   5: alert(test(6,null));   //輸出15

 

第二種:

   1: function test(blog,address){
   2:     blog=blog||'淡忘~淺思';
   3:     address=address||'www.ido321.com';
   4:     alert('部落格名是'+blog+'的地址是'+address);
   5: }

其等價為

   1: function test(blog,address){
   2:     if(!blog){blog='淡忘~淺思';}
   3:     if(!address){address='www.ido321.com';}
   4:     alert('部落格名是'+blog+'的地址是'+address);
   5: }

調用樣本

   1: test();   //部落格名是淡忘~淺思的地址是www.ido321.com
   2: test('csdn','blog.csdn.net');  //部落格名是csdn的地址是blog.csdn.net
   3: test('','blog.csdn.net/u011043843');  //部落格名是淡忘~淺思的地址是blog.csdn.net/u011043843

 

第三種:

   1: function test(setting){
   2:     var defaultSetting={
   3:         name:'程式愛好者',
   4:         age:'1',
   5:         phone:'15602277510',
   6:         QQ:'259280570',
   7:         message:'歡迎你的加入'
   8:     };
   9:     $.extend(defaultSetting,setting);
  10:     var msg='姓名:'+defaultSetting.name
  11:     +',年齡:'+defaultSetting.age
  12:     +',電話:'+defaultSetting.phone
  13:     +',QQ群:'+defaultSetting.QQ
  14:     +',說明:'+defaultSetting.message
  15:     +'。';
  16:     alert(msg);
  17: }

調用樣本

   1: test();  //輸出:姓名:程式愛好者,年齡:1,電話:15602277510,QQ群:259280570,說明:歡迎你的加入。
   2: test({
   3:   name:'dwqs',
   4:   age:'20',
   5:   QQ:'461147874',
   6:   message:'部落格:www.ido321.com'
   7: });
   8: //輸出:姓名:dwqs,年齡:20,電話:15602277510,QQ群:461147874,說明:部落格:www.ido321.com。

ps:函數參數比較多時,可以用此方法。這是JQuery的一種擴充,所以需要引入JQuery。

來源:http://www.ido321.com/555.html


javascript中當函數有多個參數時,怎“只輸入“特定的參數?

按照函數的順序,pay之前的可以指定為null(內部有校正的情況請輸入不會出錯的預設值),pay之後的參數可以省略。

例如:

var Test = function(arg1,arg2,pay,arg3,arg4){...}

可以調用為:Test(null,null,'Pay');
 
在C++中,對於下列設定參數預設值的描述中,哪個是正確的?

B 設定參數預設值只能在定義函數時設定
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.