系列
JavaScript教程
函数参数
2018-03-03大约2分钟
看看下面的代码运行时,会出现什么结果?
function add(value1, value2) {
return value1 + value2;
}
let result = add(1); // 调用函数add,但不小心只传了一个参数
console.log(result);
result = add(1, 2, 3); // 调用函数add,多传了一个参数
console.log(result);
为什么代码没有报错?
那是因为:JavaScript的函数的参数调用要求并不是很严格,可以少传,甚至还可以多传!对于少传的参数,默认情况下都是undefined
,多传的参数由于函数体通常用不到就不起作用。
如果不想让默认参数值时undefined
,换成其他的值可以吗?可以,定义函数的时候,为需要默认值的参数设置一个默认值就可以了:
function add(value1, value2 = 2) { // 我们给参数value2设置了一个默认值2
return value1 + value2;
}
const result = add(1);
console.log(result);
这样,函数参数的默认值就不再是undefined
了。