JavaScript 函数参数详解61
在 JavaScript 中,函数是第一类对象,这意味着它们可以像其他变量一样传递给其他函数或作为值返回。函数参数是传递给函数的数据,可以用来执行操作或计算。
参数类型
JavaScript 函数参数可以是任意类型的数据,包括:
数字
字符串
布尔值
对象
数组
函数
参数传递方式
JavaScript 采用传值调用机制,这意味着传递给函数的参数的值会复制到函数内部的局部变量中。这就意味着对函数内部局部变量的修改不会影响函数外的原始值。
形参和实参
在函数定义中声明的变量称为形参(formal parameter),而传递给函数调用的值称为实参(actual parameter)。例如,以下函数定义了一个形参为 `num` 的函数:```javascript
function square(num) {
return num * num;
}
```
当调用此函数时,我们可以传递一个实参,例如:```javascript
const result = square(5);
```
在函数内部,形参 `num` 将被赋值为实参 `5`,然后函数返回 `25`。
默认参数值
JavaScript 允许为函数参数指定默认值。如果在函数调用时未提供实参,则将使用默认值。例如,以下函数定义了一个具有默认参数值 `10` 的形参:```javascript
function sum(a, b = 10) {
return a + b;
}
```
当调用此函数时,我们可以选择传递一个或两个实参:
如果只传递一个实参,则默认值为 `10`
如果传递两个实参,则使用提供的实参值
```javascript
(sum(5)); // 15
(sum(5, 7)); // 12
```
剩余参数(Rest Parameters)
JavaScript 引入了剩余参数(又称扩展运算符),允许函数接收任意数量的参数,并将其存储在数组中。剩余参数必须放在参数列表的最后。例如,以下函数使用剩余参数收集所有参数:```javascript
function sumAll(...numbers) {
let sum = 0;
for (const num of numbers) {
sum += num;
}
return sum;
}
```
当调用此函数时,我们可以传递任意数量的实参:
```javascript
(sumAll(1, 2, 3)); // 6
(sumAll(5, 10, 15, 20)); // 50
```
扩展运算符(Spread Operator)
扩展运算符(又称展开运算符)可以将数组或对象展开为单独的参数。这在传递数组或对象作为实参非常有用。例如,以下函数使用扩展运算符将数组展开为三个单独的参数:```javascript
function maxOfThree(a, b, c) {
return (a, b, c);
}
const numbers = [5, 10, 15];
(maxOfThree(...numbers)); // 15
```
扩展运算符还可以用于将对象属性展开为单独的变量:```javascript
const student = {
name: 'John Doe',
age: 25
};
function printInfo({name, age}) {
(`Name: ${name}, Age: ${age}`);
}
printInfo(student);
```
JavaScript 函数参数是传递数据和控制函数行为的关键。通过了解参数类型、传递方式、默认值、剩余参数和扩展运算符,您可以有效地使用 JavaScript 函数并编写可重用和灵活的代码。
2024-12-12
重温:前端MVC的探索者与现代框架的基石
https://jb123.cn/javascript/72613.html
揭秘:八大万能脚本语言,编程世界的“万金油”与“瑞士军刀”
https://jb123.cn/jiaobenyuyan/72612.html
少儿Python编程免费学:从入门到进阶的全方位指南
https://jb123.cn/python/72611.html
Perl 高效解析 CSV 文件:从入门到精通,告别数据混乱!
https://jb123.cn/perl/72610.html
荆门Python编程进阶指南:如何从零到专业,赋能本地数字未来
https://jb123.cn/python/72609.html
热门文章
JavaScript (JS) 中的 JSF (JavaServer Faces)
https://jb123.cn/javascript/25790.html
JavaScript 枚举:全面指南
https://jb123.cn/javascript/24141.html
JavaScript 逻辑与:学习布尔表达式的基础
https://jb123.cn/javascript/20993.html
JavaScript 中保留小数的技巧
https://jb123.cn/javascript/18603.html
JavaScript 调试神器:步步掌握开发调试技巧
https://jb123.cn/javascript/4718.html