javascript中setTimeout的用法为什么下面两个代码打印的不一样?

发布网友 发布时间:2022-04-23 00:25

我来回答

1个回答

热心网友 时间:2022-04-22 13:59

第一段,控制台会输出5行“5”。for都执行完了,而定时器可能需要1s后才执行,这时候i=5,所以控制台5行“5”
第二段,控制台会依次输出“1,2,3,4,5”。这里使用了闭包,闭包就是有权访问另一个函数作用域中的变量的函数。在本质上,闭包是将函数内部和函数外部连接起来的桥梁。因此,每次循环的时候,当前i的值得以保存下来

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com