
148
|
第
6
章
6.3
为参数提供默认值
6.3.1
问题
你想为参数指定一个默认值,调用函数时,如果没有传入参数,就使用这个值。
6.3.2
方案
声明函数时可以直接为参数分配默认值。下面的示例为第三个参数(
thirdNum
)设
定默认值。
function
addNumbers(firstNum, secondNum, thirdNum=0) {
return
firstNum+secondNum+thirdNum;
}
现在,调用这个函数时,三个参数不用全部指定。
console.log(addNumbers(42, 6, 10)); //
显示
58
console.log(addNumbers(42, 6)); //
显示
48
6.3.3
讨论
默认参数出现的时间不长。然而,
JavaScript
从未强制函数的调用方为函数提供所有
参数。很久以前,函数可以直接检查参数的值是否为
undefined
(使用
typeof
运算
符测试,详见
7.1
节)。
具有默认值的参数数量不限。一个好习惯是,把必需的参数放在前面,有默认值的
参数放在后面。也就是说,在具有默认值的参数后面,所有参数都应该是可选的,
都有默认值。这不是强制要求,却能让代码意图更明确。
如果一个函数有多个参数具有默认值,调用时可以选择为哪些参数提供值。请看下
面的示例。
function
addNumbers(firstNum=10, secondNum=20, thirdNum=30, multiplier=1) {
return
multiplier*(f ...