函数里的参数默认值

在ES5中,函数的参数还可以定义默认值。下面是一个例子。

function sum (x=1,y=2,z=3){

return x + y + z;

}

console.log(sum(4,2)); //输出结果是9

由于我们没有传入参数z,它的默认值是为3。因此,4+2+3==9.

在ES2015之前,上面的函数只能写成这样。

function sum(x,y,z){

if (x===undefined) x = 1;

if (y===undefined) y = 2;

if (z===undefined) z = 3;

return x + y + z;;

};

 也可以写成这样

function sum () {

var x = arguments.length > 0 && arguments[0] !== undefined ? arguments[0 ]: 1;
var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[0 ]: 2;
var z = arguments.length > 2 && arguments[2] !== undefined ? arguments[0 ]: 3;
return x + y + z;
}

tips:JavaScript函数中有一个内置对象,叫做arguments对象。它是一个数组,包含函数被调用的时的参数。即使不知道参数的名称,我们也可以动态获取并使用这些参数。  

原文地址:https://www.cnblogs.com/zqm0924/p/12830074.html