JavaScript 中的闭包
JavaScript 中的闭包
闭包只是一个内部发生的概念。
在 JavaScript 中,一个 ** 关闭** 是一个从其内部范围引用外部范围内变量的函数。闭包将外部范围保留在其内部范围内。
考虑以下脚本:
如果我们按照常规的 JS 执行过程方法,我们得出的结论是输出将是 错误信息未定义。 但是,实际输出将是“Hi”。上述脚本中的这个问题导致解决方案关闭。
在执行上述代码期间,当 ** 返回说嗨** ;执行时,JS 引擎足够聪明,sayHi() 函数会使用其范围之外的变量,因此,它将这些变量放在单独的闭包框中。
考虑以下代码:
上面的代码输出不是我们想要的,我们希望每 i*1000 秒更新一次 i 并打印该值。我们可以使用两种方法来解决这个问题 ** IIFE** 形成封闭或使用 ** 让** 代替 ** 曾是。** 解决方法如下:
Using the let instead of var we can get desired output
Use IIFE with closure
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通