天天看点

「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包

启示

  • 理解闭包可以看做是某种意义上的重生。
  • 掌握闭包将会功力大增。
  • JavaScript中闭包无处不在。
「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包

实质问题

「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包

闭包使得函数可以继续访问定义时的词法作用域。

「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包

现在我懂了

「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包

循环和闭包

  • 在看懂for循环中的闭包问题时,我们首先要知道一点,那就是延迟函数的回调通常是在循环结束的时候才执行,即使setTimeout的第二个参数是0.
  • 所以下面的循环回输出5个6
「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包
  • 尝试通过立即执行函数来解决这个问题
  • 尝试1
「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包

重返块作用域

「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包

模块

  • 模块模式要具备两个必要条件
「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包

现代的模块机制

  • 本小节主要讲了模块define的源码,不做深入讨论。

https://link.juejin.cn/?target= 未来的模块机制

https://link.juejin.cn/?target= 小结

「注解」《你不知道的JavaScript(上卷)》第五章:作用域闭包

继续阅读