3.11 函数
随着程序变大,你会发现很多逻辑要反复使用。把它们每次都重写一遍既累又容易出错。函数(function) 就是解决这个问题的:把一段逻辑“打包”起来,起个名字,以后想用就“调用”一下。
下面的实验有一个 add 函数,改改参数,多调用几次,看“输入 → 输出”的关系。
正在加载交互实验...
定义与调用
js
// 定义函数
function greet(name) {
return "你好," + name + "!";
}
// 调用函数
let message = greet("小叶");
console.log(message); // 你好,小叶!- 定义:用
function关键字,给函数起名字(greet),括号里写参数。
- 调用:写函数名加括号
greet("小叶"),把实际的值传进去。
参数与返回值
函数就像一台机器:参数是放进去的原料,返回值是产出的成品。
js
function add(a, b) { // a、b 是参数(输入)
return a + b; // return 把结果交回去(输出)
}
add(2, 3); // 5
add(10, 20); // 30- 参数:函数的“输入口”。调用时传进去的值会对应填进参数。
return:把计算结果“交回”给调用的地方,同时立即结束函数。
正在加载概念检查...
正在加载概念检查...
为什么要用函数
- 复用:写一次,到处调用。改逻辑只改一处。
- 可读:一个名字(
calculateTotal)比一坨代码更容易看懂。
- 拆分:把大问题拆成一个个小函数,各自做一件事,更好维护。
记住一句话:一个函数最好只做一件事,并把它做好。
箭头函数:更短的写法
现代 JS 里你会经常看到“箭头函数”,它是更简洁的写法:
js
// 普通写法
function double(x) {
return x * 2;
}
// 箭头函数写法(等价)
const double = (x) => x * 2;箭头函数 => 读作“箭头”。简单的函数用它能少写很多字,在后面学数组的 map、filter 时会非常常见。
注意
参数 vs 实参。 定义里的
a, b 叫形参(parameter,占位的名字);调用时传的 2, 3 叫实参(argument,真实的值)。名字不用纠结,理解“占位的 vs 真实的”就够了。正在加载本节练习...