微信登录

函数 - 函数参数 - 剩余参数与默认参数

函数 - 函数参数 - 剩余参数与默认参数

在 JavaScript 的函数世界里,参数就像是函数的“食材”,为函数的执行提供必要的信息。而剩余参数与默认参数则是让函数处理参数更加灵活强大的秘密武器。今天,就让我们一起来揭开它们的神秘面纱。

剩余参数

什么是剩余参数

剩余参数语法允许我们将一个不定数量的参数表示为一个数组。在函数定义时,我们可以使用三个点(...)后跟一个参数名来定义剩余参数。这个参数会包含传递给函数的所有剩余参数。

例子

  1. function sum(...numbers) {
  2. let total = 0;
  3. for (let number of numbers) {
  4. total += number;
  5. }
  6. return total;
  7. }
  8. console.log(sum(1, 2, 3)); // 输出: 6
  9. console.log(sum(1, 2, 3, 4, 5)); // 输出: 15

在这个例子中,...numbers 就是剩余参数。无论我们传递多少个参数给 sum 函数,numbers 都会是一个包含所有参数的数组。这样,我们就可以轻松地对任意数量的数字求和。

注意事项

  • 剩余参数必须是最后一个参数。例如,function wrongFunction(a,...rest, b) {} 这样的定义是错误的。
  • 一个函数只能有一个剩余参数。

默认参数

什么是默认参数

默认参数允许我们在定义函数时为参数提供一个默认值。如果在调用函数时没有提供该参数的值,那么就会使用默认值。

例子

  1. function greet(name = 'Guest') {
  2. return `Hello, ${name}!`;
  3. }
  4. console.log(greet()); // 输出: Hello, Guest!
  5. console.log(greet('Alice')); // 输出: Hello, Alice!

在这个例子中,name 参数的默认值是 'Guest'。当我们调用 greet 函数时没有传递参数,就会使用默认值;如果传递了参数,就会使用传递的值。

注意事项

  • 默认参数可以是任何有效的 JavaScript 表达式。例如:
    ```javascript
    function calculate(x, y = x * 2) {
    return x + y;
    }

console.log(calculate(3)); // 输出: 9
```

  • 默认参数会影响参数的作用域,即后面的默认参数可以引用前面的参数。

总结

特性 剩余参数 默认参数
语法 ...参数名 参数名 = 默认值
作用 将不定数量的参数收集到一个数组中 为参数提供默认值
位置 必须是最后一个参数 可以在任意位置,但通常放在后面
数量 一个函数只能有一个 可以有多个

剩余参数和默认参数为 JavaScript 函数提供了更大的灵活性和便利性。剩余参数让我们可以轻松处理不定数量的参数,而默认参数则避免了因未传递参数而导致的错误。通过合理运用这两个特性,我们可以编写出更加健壮、易用的函数。无论是处理用户输入还是进行复杂的计算,它们都能帮助我们更好地完成任务。在以后的 JavaScript 编程中,不妨多多使用剩余参数和默认参数,让你的代码更加简洁高效。

函数 - 函数参数 - 剩余参数与默认参数