JavaScript闭包核心简述

先了解程序的执行上下文,
创建执行上下文需要创建作用域链、变量对象、this

重点了解作用域链

作用域链包含当前变量对象和所有父级的变量对象,当前变量对象放在首位

  • 则最内层的作用域链包含了所有上下文的变量对象,这意味着在最内层能够获得父级的变量,从而使最外层(全局执行上下文)能够通过最内层获得其他作用域的变量对象 *

循环中回调函数setTimeout会先交给浏览器加入任务队列,等待执行完中所有作用域的程序执行完毕才会执行任务队列中的任务


在循环中声明一个立即执行函数function使得每次循环都能得到对应的值


修改使输出0,1,2,3,4

PS:图片引自B站up主技术蛋老师

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容