0 点赞 评论 收藏
分享
2022-04-17 22:10
吉林师范大学 前端工程师 卷国企:挺经典的一个题,var是函数级作用域,let是块级。for循环是块级的,var此时是在全局作用域下,相当于运行在一个全局范围的立即执行函数里。所以同步代码执行完了再执行异步代码的时候,i已经变5了。如果采用let那么for循环每次都会新创建一个变量,这样就能满足递增输出。既然知道是作用域问题,我们还可以在for循环里用立即执行函数包裹异步代码,把i作为参数传入,内部异步代码执行时候就会拿到函数作用域中的变量,也就不会出错了
0 点赞 评论 收藏
分享
2022-04-17 10:36
吉林师范大学 前端工程师 0 点赞 评论 收藏
分享
创作者周榜
更多
关注他的用户也关注了: