JavaScript函数详解:声明、调用与参数
需积分: 5 188 浏览量
更新于2024-08-04
收藏 26KB MD 举报
"JavaScript函数的基本使用和参数理解"
在JavaScript中,函数是一种强大的工具,它允许我们将可重用的代码组织在一起,以便在需要时轻松调用。这有助于提高代码的可读性和维护性。在标题"04. JavaScript函数.md"和描述中,主要讨论的是JavaScript函数的基本使用和其重要性。
### 1. JavaScript函数基本使用
函数是通过`function`关键字定义的。例如:
```js
function max(a, b) {
if (a > b) {
return a;
} else {
return b;
}
}
// 调用函数
console.log(max(10, 20)); // 输出: 20
```
在上面的例子中,我们定义了一个名为`max`的函数,它接受两个参数`a`和`b`,并返回两者之间的较大值。函数可以通过其名称加上小括号来调用,如`max(10, 20)`。这样,即使变量值变化,我们只需要调用函数,而无需复制和修改代码。
#### 1.1 函数声明与函数调用
函数声明以`function`关键字开头,后跟函数名和参数列表。参数列表由小括号包围,其中可以包含任意数量的参数,每个参数间以逗号分隔。接着是大括号,大括号内的代码是函数体。调用函数时,只需在其名称后面加上一对空括号。
```js
function fn() {
console.log(1);
}
// 调用函数
fn(); // 输出: 1
```
### 2. JavaScript函数参数
#### 2.1 形参与实参
形参是函数声明时定义的参数,它们是函数内部使用的占位符。实参是在调用函数时传递给形参的值。
```js
function greet(name, greeting) {
console.log(greeting + ', ' + name + '!');
}
greet('Alice', 'Hello'); // 输出: Hello, Alice!
```
在这个例子中,`name`和`greeting`是形参,`'Alice'`和`'Hello'`是实参。
#### 2.2 实参与形参的数量匹配
JavaScript并不强制要求实参和形参的数量相等。如果实参少于形参,未被赋值的形参将默认为`undefined`。如果实参数量多余形参数量,多余的实参将被忽略。
```js
function printName(name) {
console.log(name);
}
printName('Alice', 'Bob'); // 只有第一个参数 'Alice' 被使用
```
在这个例子中,虽然调用了两个实参,但`printName`函数只接收一个参数,因此第二个参数`'Bob'`被忽略。
#### 2.3 不定数量的参数
JavaScript允许使用`arguments`对象来处理不定数量的参数。`arguments`是一个类数组对象,包含了函数调用时传入的所有实参。
```js
function printAll() {
for (let i = 0; i < arguments.length; i++) {
console.log(arguments[i]);
}
}
printAll('one', 'two', 'three'); // 输出: one two three
```
在这个例子中,无论传入多少个参数,`printAll`函数都能通过`arguments`对象访问到它们。
### 总结
JavaScript函数是代码复用的关键工具,通过声明和调用来实现。函数参数提供了灵活性,允许我们传递数据给函数执行。理解函数的基本使用和参数机制对于编写高效、可维护的JavaScript代码至关重要。
2021-05-11 上传
2020-04-16 上传
2019-10-09 上传
2021-01-14 上传
2024-01-13 上传
吃一口夜宵
- 粉丝: 22
- 资源: 1
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码