跳到主要内容

JS 函数参数与默认值

JavaScript 中,函数可以接受 参数,并且可以为参数设置 默认值,以保证调用时未传入参数时仍有合理值。


基本参数

js
function greet(name) {
console.log(`Hello, ${name}!`);
}

greet("Alice"); // 输出: Hello, Alice!
greet(); // 输出: Hello, undefined!
  • 如果调用时没有传入参数,参数默认值为 undefined

默认参数

可以给参数设置默认值:

js
function greet(name = "Guest") {
console.log(`Hello, ${name}!`);
}

greet("Bob"); // 输出: Hello, Bob!
greet(); // 输出: Hello, Guest!
  • 默认值在参数未传入或传入 undefined 时生效。

多个参数与默认值

js
function multiply(a = 1, b = 1) {
return a * b;
}

console.log(multiply(5, 2)); // 10
console.log(multiply(5)); // 5
console.log(multiply()); // 1
  • 参数顺序影响默认值使用,建议把有默认值的参数放在末尾。

剩余参数(Rest Parameters)

用于接收不定数量的参数,写法为 ...

js
function sum(...numbers) {
return numbers.reduce((total, num) => total + num, 0);
}

console.log(sum(1, 2, 3)); // 6
console.log(sum(4, 5, 6, 7, 8));// 30
  • numbers 是一个数组,包含所有传入的多余参数。

小结

  • 默认参数可以保证函数在缺少参数时仍然有值。
  • 剩余参数适合不确定数量的输入。
  • 可以结合默认参数和剩余参数,提高函数的灵活性。