#记录我的2026#
大家好,我是31岁还在为代码熬夜、却依然热爱技术分享的小米。
今天我们聊一个看似简单、却能撑起整个 JavaScript 世界的主角函数(Function)。
如果把 JavaScript 比作一家热闹的餐厅,那函数就是后厨的大厨。你点什么菜,它就给你做什么;你多点几次,它也不会抱怨;只要给它材料,它就能稳定输出。而不会做饭的程序员,只能在大厅里反复端盘子。
从“重复搬砖”到“自动化流水线”
刚学编程那会儿,我写过这样一段代码:
![]()
三行一模一样的代码,看着就像在复制粘贴人生。
这时候函数就登场了。
![]()
你发现没有?函数就像一个“按钮”。定义一次,按一下执行一次。
这就是函数最核心的价值:封装 + 复用
就像你家里安装了洗衣机,不用每次都手洗。函数就是程序里的洗衣机。
函数的三种“开店方式”
在 JavaScript 里,函数可不是只有一种写法。
1、函数声明(最传统的)
![]()
这种写法最常见,像是正式营业的餐厅。
特点:
- 可以提前调用(函数提升)
- 结构清晰
2、函数表达式(低调创业型)
![]()
这种方式把函数赋值给变量。它就像一个“私房菜工作室”,不提前宣传,只有被调用才工作。
3、箭头函数(现代网红店)
![]()
甚至还能简写成:
![]()
是不是很优雅?箭头函数最大的特点不是短,而是没有自己的 this。
这点非常重要。
函数参数:食材决定菜品
函数真正的灵魂在“参数”。你不给厨师材料,他也做不出菜。
![]()
输出:
大家好,我是小米,今年31岁
参数可以有默认值:
![]()
这就像你点外卖不选辣度,默认微辣。
return:函数的出口
很多人刚学函数的时候,会忽略一个关键字:return。
![]()
为什么是 undefined?因为你没 return。
正确写法:
![]()
return 就像快递的出库单。不写 return,仓库做了东西也不发货。
函数作用域:房间与门禁
函数内部有自己的“地盘”。
![]()
外面访问不到里面的变量。这叫做函数作用域。
就像你家卧室,外人进不去。但如果变量写在外面:
![]()
函数是可以访问外部变量的。这就是作用域链。
函数是一等公民
JavaScript 里,函数不仅能被调用,还能:
- 赋值
- 作为参数
- 作为返回值
这叫:函数是一等公民
1、作为参数(回调函数)
![]()
这里的 makeNoodles 就是回调函数。像你请朋友帮忙,他完成后通知你。
2、作为返回值(高阶函数)
![]()
函数还能“生孩子”。这就为闭包打下基础。
闭包:记忆力超强的函数
闭包是很多面试题的重灾区。来看例子:
![]()
为什么 count 没被销毁?因为内部函数“记住了”它。
闭包就像一个保险箱。外部函数已经执行完了,但内部函数还握着钥匙。
this:函数的“身份认同”
这是很多人最头疼的地方。
1、普通函数:
![]()
在浏览器中,this 指向 window。
2、对象方法:
![]()
3、箭头函数:
![]()
箭头函数没有自己的 this,它继承外层的 this。所以不要在对象方法里乱用箭头函数。
函数改变世界的能力
为什么函数这么重要?因为:
- 事件监听是函数
- 定时器是函数
- Promise 里是函数
- React 组件是函数
- Node 中间件是函数
整个 JavaScript 生态,本质上是函数的世界。你掌握函数,就掌握了 JavaScript 的核心。
一个真实感悟
我工作第3年的时候,写代码还在拼命复制粘贴。后来我强迫自己:只要出现两次相似逻辑,就抽成函数。
那一年,我代码量变少了。Bug 也变少了。结构变清晰了。
函数教会我的不是语法,而是抽象能力。它逼着你思考:
- 哪些是变化的?
- 哪些是固定的?
- 如何封装?
这才是程序员真正成长的开始。
总结
函数是:
- 可复用的代码块
- 有参数有返回值
- 有作用域
- 可以嵌套
- 可以作为值传递
- 可以形成闭包
- 可以改变 this 指向
你写的每一行优雅代码,背后都是函数在支撑。
如果 JavaScript 是一座城市,变量是街道,对象是建筑,那函数,就是流动在城市里的电力系统。没有它,一切都会停摆。
好朋友们,我们下次再见。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.