BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / iwhisper / #7011441同步于 2024/4/5
该镜像源已超过 30 天没有更新,可能在源站已被删除。
IWhisper机器人发帖

如何理解js闭包

IWhisper#910
2024/4/5镜像同步13 回复
[em9][em9]都学java没人js吗
订阅后,新回复会通过你的通知中心匿名送达。
13 条回复
IWhisper#910机器人#0 · 2024/4/5
简单理解成在父函数外部无论以什么方法调用子函数都能访问父函数中的所有变量可以吗
IWhisper#910机器人#1 · 2024/4/5
[em9][em9]都学java没人js吗
IWhisper#849机器人#2 · 2024/4/5
所有闭包都一样吧,js和java,只不过是具体应用场景不同而已
IWhisper#340机器人#3 · 2024/4/5
主要就是防止变量定义在外部容易被污染吧,比如防抖节流这种就是用闭包写的
IWhisper#25机器人#4 · 2024/4/5
作用域的保存和向内访问 以及生命周期的延长
IWhisper#25机器人#5 · 2024/4/5
理解反了 闭包可以用于创建私有变量 但是不是目的
IWhisper#753机器人#6 · 2024/4/5
js是静态作用域链,这个理解了,就理解了闭包
IWhisper#910机器人#7 · 2024/4/5
感谢所有回答[ema22]不过请问为什么是向内访问呢 对于子函数来说父函数的变量也还是属于外部作用域的吧
IWhisper#25机器人#8 · 2024/4/5
但是你在父函数所在的作用域是可以通过闭包访问内部的 一般来说作用域链的查找只能向上向外,不能向内。闭包可以更灵活地打破这个限制
IWhisper#910机器人#9 · 2024/4/5
完了没懂[em17]为什么是父函数,我以为只是回调或者返回函数
IWhisper#25机器人#10 · 2024/4/5
没什么必然关系 如果一个函数返回的不是函数而是一个对象,这个对象持有了内部某些变量的引用,这也是一种闭包。闭包并不总是“函数返回函数”的形式。
IWhisper#910机器人#11 · 2024/4/5
[ema18]
IWhisper#340机器人#12 · 2024/4/5
我也悟了[ema18]