JS函数设置默认参数值

1、在ES6之前,必须在函数内通过其它方式实现

比如:
以下示例转自:https://www.cnblogs.com/sntetwt/p/4174224.html

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;
}
function example(name,age){
    name=name||'貂蝉';
    age=age||21;
    alert('你好!我是'+name+',今年'+age+'岁。');
}
function example(name,age){
    if(!name){name='貂蝉';}
    if(!age){age=21;}
    alert('你好!我是'+name+',今年'+age+'岁。');
}
function example(setting){
    var defaultSetting={
        name:'貂蝉',
        age:'30',
        sex:'女',
        phone:'13611876347',
        QQ:'10086',
        birthday:'1949.10.01'
    };
    $.extend(defaultSetting,settings);
    var message='姓名:'+defaultSetting.name
    +',性别:'+defaultSetting.sex
    +',年龄:'+defaultSetting.age
    +',电话:'+defaultSetting.phone
    +',QQ:'+defaultSetting.QQ
    +',生日:'+defaultSetting.birthday
    +'。';
    alert(message);
}
example({
    name:'王昭君',
    sex:'女',
    phone:'10089'
});

2、ES6中可以像其它编程语言那样直接使用默认参数了

function myFunction(x = 1, y = 2, z = 3) {
 console.log(x, y, z); // Outputs "1 7 9"
 }
 myFunction(undefined,7,9);

猜你喜欢

转载自www.cnblogs.com/zhaogaojian/p/12143375.html