函数参数
js定义函数参数没有非常严格的要求,可以有也可以没有,在调用的时候也是,参数可以有可以没有,也可以和定义时的参数个数不一致
function show (name,count){
count=count||10;
console.log(name,count);
}
show('pigs');
没有给count传入参数,默认为10
也可以直接在参数中给count赋值
但是特别注意的是不能给count传入0,因为0与undefined都是false,因此count传入的0会被修改为10,这并不是我们想要的结果,我们可以去判断是否count未定义的还是有数值得,这样就避免了0的问题
如果一个参数未定义,我们可以直接调用函数的时候直接传入undefined,避免传入参数不正确,引发一系列的问题
剩余参数
在js中函数里面的参数都是存在一个数组当中的,并已argument[0],argument[1],argument[2]......对应相应的参数值,如果调用的时候传入的参数过多,那么从前面开始一一对应,直到最后一个值变成一个数组放剩余所有的参数
比如
function select(method,...args){
switch (method){
case 'max':
case 'min':
return Math[method].apply(undefined,args);
default:
return NaN;
}
}
console.log(select('max',87,21,55,2));
console.log(select('min',87,21,55,2));
调用时多余的参数值都会被放到...args里面形成一个数组