• js中对函数设置默认参数值的3种方法


    在javascript中如何为函数设置默认参数值,下面提供几种方法供大家参考。
    第一种方法:

    1
    2
    3
    4
    5
    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;
    }

    注意以上函数也可写作如下:

    1
    2
    3
    4
    5
    function example(){
      var a = arguments[0] ? arguments[0] : 1;//设置第一个参数的默认值为1
      var b = arguments[1] ? arguments[1] : 2;//设置第二个参数的默认值为2
      return a+b;
    }

    调用示例:

    1
    2
    3
    4
    alert( example() ); //输出3
    alert( example(10) ); //输出12
    alert( example(10,20) ); //输出30
    alert( example(null,20) ); //输出20

    第二种方法:

    1
    2
    3
    4
    5
    function example(name,age){
      name=name||'貂蝉';
      age=age||21;
      alert('你好!我是'+name+',今年'+age+'岁。');
    }

    该函数也可以写作如下:

    1
    2
    3
    4
    5
    function example(name,age){
      if(!name){name='貂蝉';}
      if(!age){age=21;}
      alert('你好!我是'+name+',今年'+age+'岁。');
    }

    调用示例:

    1
    2
    3
    example('王五');//输出:你好!我是王五,今年21岁。 
    example('王五',30);//输出:你好!我是王五,今年30岁。 
    example(null,30);//输出:你好!我是貂蝉,今年30岁。

    第三种方法,这种方法适合用于参数较多的情况,使用了Jquery的扩展:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    function example(setting){
      var defaultSetting={
        name:'小红',
        age:'30',
        sex:'女',
        phone:'100866',
        QQ:'100866',
        birthday:'1949.10.01'
      };
      $.extend(defaultSetting,settings);
      var message='姓名:'+defaultSetting.name
      +',性别:'+defaultSetting.sex
      +',年龄:'+defaultSetting.age
      +',电话:'+defaultSetting.phone
      +',QQ:'+defaultSetting.QQ
      +',生日:'+defaultSetting.birthday
      +'。';
      alert(message);
    }

    调用示例:

    1
    2
    3
    4
    5
    6
    example({
      name:'小红',
      sex:'女',
      phone:'100866'
    });
    //输出:姓名:小红,性别:女,年龄:30,电话:100866,QQ:100866。

    以上这三种方法大家学会了吗,这三种方法各有优缺点,大家具体情况具体分析,选择最适合的方法进行学习。

  • 相关阅读:
    卓京---java基础2
    GuessFist
    猜拳 GuessFist
    GuessNum
    GuessNumber
    JetBrains全系列软件激活教程激活码以及JetBrains系列软件汉化包
    两个class 之间要空两行
    ImageField 字段的使用
    max_length 属性
    null,blank,default
  • 原文地址:https://www.cnblogs.com/luotingliang/p/7250990.html
Copyright © 2020-2023  润新知