1、es5函数参数默认值
// es5函数参数默认值
function demo(x,y){
x=x !==undefined ?x : 5;
y=y !==undefined ?y : 10;
console.log(x,y);
}
demo();//5 10
demo(2,3);//2 3
2、es5对象默认值
// es5 obj默认值 {uname:'',age:0}
function demo2(obj) {
// obj.uname = obj.uname !== undefined ? obj.uname : '';
// obj.age = obj.age !== undefined ? obj.age : 0;
var dobj = {
uname: '',
age: 0
}
for (let i in dobj) {
for (let j in obj) {
if (i == j) {
dobj[i] = obj[j]
}
}
}
console.log(dobj)
}
demo2();//Object { uname: "", age: 0 }
demo2({
uname: '小明',
age: 20,
sex: '男',
abc: 'sdlfkjl'
});//Object { uname: "小明", age: 20 }
3、es6函数默认值
// es6默认值
function es6fn(x = 5, y = 10) {
console.log(x, y)
}
es6fn(); //5 10
es6fn(6, 0); //6 0
function es6fn2({ x = 5, y = 10 } = {}) {
console.log(x, y)
}
es6fn2();// 5 10
es6fn2({ x: 3, y: 7 }); // 3 7