• 浅谈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

  • 相关阅读:
    FreeMarker MyEclipse IDE
    Mybatis MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring
    Mybatis SqlSessionTemplate 源码解析
    Mybatis Interceptor 拦截器原理 源码分析
    MyBatis Mapper 接口如何通过JDK动态代理来包装SqlSession 源码分析
    MyEclipse SVN 下面切换用户的解决方案
    SpringMVC 多个数据源 配置多个事物管理器 Multiple Transaction Managers
    Activiti 获取定义
    [No000066]python各种类型转换-int,str,char,float,ord,hex,oct等
    [No000065]python 获取当前时间
  • 原文地址:https://www.cnblogs.com/ido321/p/3966382.html
Copyright © 2020-2023  润新知