函数(function)是一段可以重复调用的代码,用来完成一个明确任务。把步骤放进函数后,只要调用函数名就能再次执行,不必复制整段代码。
定义与调用函数
function 后面是函数名,括号中是参数(parameter),花括号中是函数体。调用时提供的实际值叫实参(argument)。
function larger(num1, num2) {
if (num1 > num2) {
return num1;
}
return num2;
}
const result = larger(7, 12);
console.log(result); // 12return 把结果交回调用位置,并立即结束本次函数调用。
知识测验
题目
return 在方法中的作用是什么?
不返回值的函数
有些函数只执行动作,不需要返回结果。它们可以不写 return;执行到函数体末尾时,会返回 undefined。
function printGreeting(name) {
console.log(`Hello, ${name}!`);
}
printGreeting("Mina");互动实验
调用者 → 方法 → 返回值
访问权限PRO
PRO EXCLUSIVE探索不止于此
尊享 Pro 权益解锁完整互动实验、进阶解析与精选参考答案。
函数调用其他函数
一个函数可以调用另一个函数。每次调用都会先进入被调用函数,得到返回值后再回到原来的位置继续执行。
function square(value) {
return value * value;
}
function distance(x1, y1, x2, y2) {
const dx = x2 - x1;
const dy = y2 - y1;
return Math.sqrt(square(dx) + square(dy));
}
console.log(distance(0, 0, 3, 4)); // 5互动实验
嵌套调用:distance() 两次请求 square()
访问权限PRO
PRO EXCLUSIVE探索不止于此
尊享 Pro 权益解锁完整互动实验、进阶解析与精选参考答案。
知识测验
题目
方法调用时,程序会发生什么?
JavaScript 文件会从顶部开始执行。函数声明可以先写好,再在需要的位置调用;语言不会自动寻找名为 main 的函数。
动手练习
写一个计算绝对差的方法
编写 absoluteDifference(num1, num2),返回两个数差值的绝对值。
- 定义方法。
- 使用 if/else 返回非负差值。
- 至少打印两组调用结果。
动手练习
写一个判断素数的方法
把素数判断封装进可复用的 isPrime(n)。
- n <= 1 时返回 false。
- 检查到 sqrt(n)。
- 在 外层代码 方法中读取并输出结果。
动手练习
计算一年中的第几天
拆出 isLeap、daysInMonth 和 dayOfYear 三个方法。
- 实现闰年判断。
- 返回每个月天数。
- 让 dayOfYear 和 main 调用辅助方法。