默认参数的概念是 ES6 版本的JavaScript中引入的一项新函数。这使无涯教程可以为函数参数提供默认值。
function sum(x = 3, y = 5) {
//return sum
return x + y;
}
console.log(sum(5, 15)); //20
console.log(sum(7)); //12
console.log(sum()); //8
在上面的示例中,x
的默认值为 3 ,而y
的默认值为 5 。
sum(5,15)
- 传递两个参数时,x
占用 5 ,而y
占用 15 。 sum(7)
- 将 7 传递给sum()
函数时,x
需要 7 和y
采用默认值 5 。
sum()
- 当没有参数传递给 sum()函数时,x
采用默认值 3 ,然后y
采用默认值 5 。
也可以提供表达式作为默认值。
function sum(x = 1, y = x, z = x + y) {
console.log( x + y + z );
}
sum();//4
在上面的程序中,
链接:https://www.learnfk.comhttps://www.learnfk.com/es6/default-parameters.html
来源:LearnFk无涯教程网
x
的默认值为 1 y
的默认值设置为 x
参数 z
的默认值是 x
和 y
的总和如果引用尚未初始化的参数,则会出现错误。例如,
function sum( x = y, y = 1 ) {
console.log( x + y);
}
sum();
OutputReferenceError: Cannot access 'y' before initialization
//在默认值表达式中使用函数
const sum = () => 15;
const calculate = function( x, y = x * sum() ) {
return x + y;
}
const result = calculate(10);
console.log(result); //160
在上面的程序中,
链接:https://www.learnfk.comhttps://www.learnfk.com/es6/default-parameters.html
来源:LearnFk无涯教程网
calculate()
函数。 x
变为 10
, y
变为 150
(求和函数返回 15
) 160
。在JavaScript中,当您将 undefined
传递给默认参数函数时,该函数将采用默认值。例如,
function test(x = 1) {
console.log(x);
}
// passing undefined
// takes default value 1
test(undefined);//1
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)