JavaScript 怎么保留for循环中改变的值
时间: 2023-08-10 07:07:27 浏览: 163
在 JavaScript 中,可以使用闭包来保留 for 循环中改变的值。具体来说,可以创建一个立即执行函数,将每次循环的变量作为参数传入该函数,在函数内部返回一个函数,该函数可以访问并修改该变量,然后将该函数赋值给一个变量。这样,每次循环都会创建一个新的函数,而该函数又可以访问并修改该变量,从而达到保留循环中改变的值的目的。
以下是一个示例代码:
```javascript
for (var i = 0; i < 5; i++) {
(function (j) {
setTimeout(function () {
console.log(j);
}, 1000);
})(i);
}
```
在上面的代码中,我们创建了一个立即执行函数,将每次循环的变量 i 作为参数传入该函数,并返回一个可以访问并修改 i 的函数。然后,我们将该函数作为参数传入了 setTimeout 函数中,从而实现了每隔 1 秒输出一个数字的效果。由于每次循环都会创建一个新的函数,因此可以保留循环中改变的值。
阅读全文