1、带默认参数的函数(若传入实参则以实参为主,若未传入则使用默认值)
function fun(a=10){
console.log(a)
}
fun() //10
function fun(a=10){
console.log(a)
}
fun(12) //12
2、参数的默认值可以是一个表达式或者函数调用,看下面的代码:
function getValue() {
return 5
}
function add(first,second = getValue()) {
return first + second
}
console.log(add(1)) //6
注意: getValue()只会在调用add且不传入第二个参数的时候才回去调用,不会在解析阶段调用。
由于默认值可以是表达式,,所以我们甚至可以使用前面的参数作为后面的默认值,反之则不成立(不能采用后面的参数定义表达式作为参数默认值)
function add(first, second = first + 1) {
return first + second
}
console.log(add(7)) //15
function add(second = first + 1,first) {
return first + second
}
console.log(add(7)) //NaN