ES5中,如果函数调用时没有传入参数,需要使用默认的参数值时需要这么写:
function f(x,y,z){
if(x === undefined){
x = 7;
}
if(y === undefined){
y = 6;
}
if(z === undefined){
z = 5;
}
return x+y+z;
}
在es6中就方便多了,可以直接写成这样:
function f(x=7,y=6,z=5){
return x+y+z;//当x,y,z等于undefined时自动附上默认值
}
es6可变参数:
如果函数传入的参数个数不确定时,es6中可以这么写:
function f(...a){
var sum = 0;
a.forEach(item => {
sum += item;
});
return sum;
}
console.log(f(1,2,3,4));//打印10