老师在讲函数的参数时,总会提到具有默认值的形参最好放在参数列表的靠后,也就是最右边。
喜欢探究的同学总要问一个为什么?
程序世界,代码有时候就是最好的解释:
求和函数,把具有默认值的参数放在参数列表「左边」
function sum(a = 10, b) {
return a + b
}
/*
第1个实参 总是对应 第1个形参
所以,3 赋值给 a, 替换掉默认值 10
参数b没有传值,最终函数调用报错
*/
sum(3) // 报错
求和函数,把具有默认值的参数放在参数列表「右边」
function sum(b,a = 10) {
return a + b
}
/*
3 赋值给 b
a 没有传值,使用默认值 10
*/
sum(3) // 13
小结:
- 默认值可以让函数少传实参还能正常执行
- 把设定默认值的形参放在左边,就不能达到上面目的