【学习 JavaScript】 JavaScript 教程 JavaScript 简介 JavaScript 用法 JavaScript Chrome 中运行 JavaScript 输出 JavaScript 语法 JavaScript 语句 JavaScript 注释 JavaScript 变量 JavaScript 数据类型 JavaScript 对象 JavaScript 函数 JavaScript 作用域 JavaScript 事件 JavaScript 字符串 JavaScript 字符串模板 JavaScript 运算符 JavaScript 比较 JavaScript 条件语句 JavaScript switch 语句 JavaScript for 循环 JavaScript while 循环 JavaScript break 和 continue 语句 JavaScript typeof JavaScript 类型转换 JavaScript 正则表达式 JavaScript 错误 JavaScript 调试 JavaScript 变量提升 JavaScript 严格模式 JavaScript 使用误区 JavaScript 表单 JavaScript 表单验证 JavaScript 验证 API JavaScript 保留关键字 JavaScript this JavaScript let 和 const JavaScript JSON JavaScript void JavaScript 异步编程 JavaScript Promise JavaScript 代码规范 JS 函数 JavaScript 函数定义 JavaScript 函数参数 JavaScript 函数调用 JavaScript 闭包 JS 类 JavaScript 类 JavaScript 类继承 JavaScript 静态方法 JS HTML DOM DOM 简介 DOM HTML DOM CSS DOM 事件 DOM EventListener DOM 元素 HTMLCollection 对象 NodeList 对象 JS 高级教程 JavaScript prototype JavaScript Number 对象 JavaScript String JavaScript Date(日期) JavaScript Array(数组) JavaScript Boolean(布尔) JavaScript Math(算数) JavaScript RegExp 对象 JS 浏览器BOM JavaScript Window JavaScript Window Screen JavaScript Window Location JavaScript Window History JavaScript Navigator JavaScript 弹窗 JavaScript 计时事件 JavaScript Cookie JS 库 JavaScript 库 JavaScript 测试 jQuery JavaScript 测试 Prototype JS 实例 JavaScript 实例 JavaScript 对象实例 JavaScript 浏览器对象实例 JavaScript HTML DOM 实例 JavaScript 总结 JS 参考手册

JavaScript 函数参数学习笔记

函数是 JavaScript 中最重要的语言结构之一,它们为我们提供了将代码分解为可重用模块的方法。函数可以接受零到多个参数,使得代码变得更加灵活和可扩展。

命名参数 vs. 匿名参数

在 JavaScript 中,函数参数可以是命名参数或匿名参数。当我们定义一个函数时,我们可以为其指定一组命名参数,这些参数可以在函数体中使用。例如:

Copy Code
function greet(name) { console.log("Hello, " + name + "!"); }

在这里,name 是这个函数的一个命名参数。我们可以通过调用 greet 来使用这个参数:

Copy Code
greet("Alice"); // 输出:Hello, Alice!

相反,如果我们没有定义任何命名参数,则该函数只会接受匿名参数。这种情况下,我们需要基于参数的位置来区分它们。例如:

Copy Code
function add(a, b) { return a + b; }

在这里,ab 都是匿名参数。我们可以通过调用 add 来使用这些参数:

Copy Code
add(1, 2); // 输出:3

默认参数

在 JavaScript ES6 中,我们可以为函数参数指定默认值。当调用函数时,如果没有传递某个参数,那么它将使用指定的默认值作为参数。例如:

Copy Code
function greet(name = "world") { console.log("Hello, " + name + "!"); }

在这里,name 的默认值是字符串 "world"。如果我们调用 greet,但没有传递任何参数,那么它将输出 "Hello, world!"

Copy Code
greet(); // 输出:Hello, world!

我们还可以为任意参数指定默认值:

Copy Code
function add(a, b = 0) { return a + b; }

在这里,b 的默认值为 0。如果我们调用 add,但只传递了一个参数,那么它将返回这个参数加上默认值 0 的结果:

Copy Code
add(1); // 输出:1

剩余参数

除了命名参数和匿名参数之外,我们还可以使用剩余参数来处理函数中的变长参数。剩余参数是以三个连续点(...)开头的一个参数,它会捕获所有未指定的参数并将它们放入一个数组中。例如:

Copy Code
function sum(...numbers) { let result = 0; for (const number of numbers) { result += number; } return result; }

在这里,numbers 是一个剩余参数,它将捕获所有传递给 sum 函数的参数。我们可以通过调用 sum 来使用它:

Copy Code
sum(1, 2, 3); // 输出:6 sum(4, 5, 6, 7, 8); // 输出:30

总结

JavaScript 中的函数参数可以是命名参数或匿名参数。我们可以为参数指定默认值,使得代码变得更加灵活和可扩展。我们还可以使用剩余参数来处理函数中的变长参数。