JavaScript函数是代码复用的关键,通过函数声明、函数表达式和箭头函数定义,实现一次编写、多处调用,支持参数化、集中维护与逻辑组合;盲目封装则违背其设计初衷。

JavaScript函数是把一段可重复使用的代码包装起来,起个名字,需要时就“喊它一声”——调用它。它之所以是代码复用的关键,是因为不用反复写相同逻辑,改一处、全生效,还能接收不同输入、返回不同结果,灵活又可靠。
函数定义的两种常用方式
最基础的是函数声明:
function sayHello(name) {return "你好," + name;
}
另一种是函数表达式(常用于变量赋值或回调):
const add = function(a, b) {return a + b;
};
ES6 还支持箭头函数,更简洁(尤其单参数、单表达式时):
立即学习“Java免费学习笔记(深入)”;
const square = x => x * x;为什么它是复用的核心?
-
一次定义,多次调用:比如验证邮箱格式,写一个
isValidEmail(str),表单、接口请求、用户注册都可直接用,不用复制粘贴正则和判断逻辑 -
参数让行为可变:同一个函数,传
"apple"或"banana",就能处理不同数据,无需为每种水果写新函数 - 逻辑集中,便于维护:如果校验规则变了(比如新增国际邮箱支持),只改函数内部,所有调用点自动更新
-
支持组合与抽象:可以把小函数拼成大功能,比如
fetchUser()内部调用buildUrl()和handleError(),各司其职,互不干扰
不写函数的常见代价
直接写死逻辑,比如在五个地方都写了 if (user.age >= 18) {...},某天政策改成 21 岁才成年,就得手动找、改、测五次——漏改一处就埋雷。而封装成 isAdult(age) 后,改一行,全局生效。
小提醒:复用≠盲目封装
不是所有三行代码都要塞进函数。真正值得封装的,是满足这些条件的逻辑:
- 被用两次及以上
- 有明确输入和输出
- 做了单一、可命名的事(比如 “格式化日期”、“深克隆对象”)
- 当前看可能只用一次,但业务上很可能扩展
基本上就这些。函数不是语法糖,是组织思维的方式——把重复动作变成“动词”,让代码真正活起来。











