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
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。