《你不知道的JavaScript》上卷-循环和闭包读书笔记

2021-09-07 
0条评论  2106浏览
《你不知道的JavaScript》上卷-循环和闭包读书笔记,当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行。
##### 代码片段一: ``` for (var i = 1; i <= 5; i++) { setTimeout(function timer() { console.log(i); }, i * 1000); } ``` 代码预期:输出数字1~5,每秒一次。 实际结果:输出5次数字6,每秒一次。 > 每个迭代在运行时都会给自己“捕获”一个 i 的副本,但是5个函数它们都被封闭在一个共享的作用域中,因此实际只有一个 i 。 ##### 代码片段二(考虑用IIFE来创建作用域): ``` for (var...

添加评论

💪 👌 👍 👎 👋 👏 🌹 😎 😁 😅 😭 🍇 🍈 🍉 🍊 🍋 🍌 🍍 🍎 🍏