gpt4 book ai didi

javascript - 为什么全局变量在嵌套循环中只执行一次?

转载 作者:行者123 更新时间:2023-12-01 01:05:26 25 4
gpt4 key购买 nike

为什么全局变量在嵌套 while 循环(内部)中只执行一次?

//not working as expected;
var i = 1;
var j = 1;
while(i<=3){
console.log(i);
i++;
while(j<=3){
console.log(j);
j++;
}
}

//working as expected;
var i = 1;
while(i<=3){
console.log(i);
i++;

var j = 1;
while(j<=3){
console.log(j);
j++;
}
}
当我编写上面的代码( //未按预期工作)时,内部 while 循环仅执行第 1 次 3 次,然后返回到外部 while 循环的顶部并执行它,并且不会返回到内部 while 循环。但是,当我声明变量并在 while 循环( 内部和外部)之前初始化它时,它执行得很好。为什么?

最佳答案

那是因为j不会被重新分配,一旦它变成 > 3 内部循环就永远不会执行。

//not working as expected;
var i = 1;
var j = 1;
while(i<=3){
console.log(i);
i++;
while(j<=3){
console.log(j);
j++;
}
}

在此代码中,在外循环的第一次迭代期间,j 从 1 to 3 递增当i = 1 。当i = 2 , j 已经是 4并且它没有被重新分配,所以条件 j <= 3为 false 并且不执行内部循环。

关于javascript - 为什么全局变量在嵌套循环中只执行一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55693853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com