在 JavaScript 中,如果在嵌套循环中使用了同一个变量,那么它在外层循环运行完毕后的值也会影响到内层循环。为了避免这种情况,您可以在内层循环中使用不同的变量,或者使用 IIFE(立即调用函数表达式)来隔离内外层循环中的变量:
for (let i = 0; i < 5; i++) {
for (let j = 0; j < 5; j++) {
console.log(i, j);
for (let i = 0; i < 5; i++) {
(function(i) {
for (let j = 0; j < 5; j++) {
console.log(i, j);
})(i);
这样您就可以在嵌套循环中使用不同的变量来避免冲突了。