你有没有想过,做一顿晚饭其实和写一段代码一样?比如你要煮面,先烧水,再下面,最后加调料。这个顺序不能乱,每一步都像一个‘动作’,而这些动作在编程里就叫函数。
什么是函数的类型?
在编程中,函数不是千篇一律的。它们有不同的‘性格’,也就是类型。有的函数会返回结果,比如计算总价;有的只执行动作,比如打开灯。就像你在家里,喊孩子收拾书包,他动了但没给你东西——这就是无返回值的动作。
在 JavaScript 里,可以这样写一个有返回值的函数:
function add(a, b) {
return a + b;
}
而一个只做事情、不返回结果的函数可能是控制家电:
function turnOnLight() {
console.log("灯亮了");
// 没有 return,或者说返回 undefined
}
箭头函数:现代生活的快捷方式
就像你家里的语音助手,“小爱同学,开空调”,一句话搞定。ES6 引入的箭头函数也是这样简洁:
const greet = (name) => `你好,${name}!`;
它更短,更适合简单的任务,比如给家人发个提醒消息。
匿名函数:不留名的好心人
有时候你设置了个定时器,让电饭煲半小时后保温,这个任务不需要名字,只管执行就行:
setTimeout(() => {
console.log("米饭好了,记得吃");
}, 30000);
这种没有名字的函数就是匿名函数,用完即走,像悄悄帮你关灯的家人。
递归函数:套娃式的家务
你让孩子去催爸爸洗碗,爸爸说等会儿,孩子又跑回去问,这就有点像递归——函数自己调用自己。当然,得有个停下的时候,不然就无限循环了。
function countDown(seconds) {
if (seconds <= 0) {
console.log("时间到!");
return;
}
console.log(`还剩 ${seconds} 秒`);
countDown(seconds - 1);
}
就像倒数睡觉时间,一秒一秒往下走,直到闭眼。
其实,理解函数的类型,不只是为了写代码。它教会我们把复杂的事情拆解成小步骤,就像安排一天的生活。谁说编程思维不能用在家庭生活里?