js默认是不支持funtion f($a=a){}
这种写法的,如果想设置函数参数的默认值,可以参考如下三种方法:
- 第一种方法:
使用arguments,函数所有的参数都会存入arguments数组离去,所以我们可以从中获取相应的参数然后赋值
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; }
- 第二种方法
使用运算符 ||,这个等同于if(a){a=xx}
的写法
function example(name,age){ ??name=name||‘jason‘; ??age=age||30; ??alert(‘你好!我是‘+name+‘,今年‘+age+‘岁。‘); }
- 第三种方法
使用jquery扩展,适合参数较多的情况下
function example(setting){ ??var defaultSetting={ ????name:‘jason‘, ????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); }
作者:格吾刚哥链接:https://www.jianshu.com/p/0e6b7e7cef8c來源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
js设置函数参数默认值的3种方法
原文地址:https://www.cnblogs.com/leilei-1/p/8492090.html