/ / защо java скрипт, вмъкнат за цикъл, който има кръгови броячи, името същото отива безкрайно - javascript

защо java скрипт вложени за цикъл с цикли контра име същото се случва infinetly - javascript

Какво ще излезе от следния код.

for(var i=0; i<5; i++){
for(var i=0; i<3; i++){
console.log(i + " " + i);
}}

Защо е безкраен цикъл.

Отговори:

0 за отговор № 1

Това е защото използвате i два пъти, така че всеки път, когато влизате във втория цикъл, възстановявате i до 0.

Вашият код трябва да бъде:

for(var i=0; i<5; i++){
for(var j=0; j<3; j++){
console.log(i + " " + j);
}}

0 за отговор № 2

Тъй като всяка итерация на външния цикъл вътрешният контур възстановява i до 0. Тя никога няма да стигне до 5.

for(var i=0; i<5; i++){
// will be 4 here then reset to 0 it will only ever make it to 4 never reach 5.
for(var i=0; i<3; i++){
console.log(i + " " + i);
}}

0 за отговор № 3

Това е така, защото когато влезете в първата си линия с 0, възстановявате обратно до 0 и когато вашият I стане 3, излизате от вътрешната линия и влизате външно за 4 и след това отново се нулира до 0 и отива в цикъл ,

Можете да разрешите проблема, като използвате две различни променливи, като:

for(var i=0; i<5; i++) {
for(var j=0; j<3; j++) {
console.log(i + " " + j);
}
}

0 за отговор № 4

Тъй като var декларацията ще бъде издигната до върха на обхвата (аз не влизам в подробности защо), кодът ще свърши работа така:

var i;
for(i = 0; i < 5; i++
{
for(i = 0; i < 3; i++)
{

}
}

Смятате, че един далечен цикъл създава нов "код блок" (обхват), но не го прави. Ако трябва да направите това:

for(var i = 0; i < 5; i++)
{
+function() {
for(var i = 0; i < 3; i++
{

}
}();
}

Тогава тя ще работи wya мислите, че ще работи сега, но не трябва т. Трябва просто да използвате 2 различни променливи.


0 за отговор № 5
1st iteration of loop #1
starts with i = 0
1st iteration of loop #2
starts with i = 0
ends with i = 1
2nd iteration of loop #2
starts with i = 1
ends with i = 2
3rd iteration of loop #2
starts with i = 2
ends with i = 3
ends with i = 4
2nd iteration of loop #1
starts with i = 4
1st iteration of loop #2
starts with i = 0
ends with i = 1
2nd iteration of loop #2
starts with i = 1
ends with i = 2
3rd iteration of loop #2
starts with i = 2
ends with i = 3
ends with i = 4
3nd iteration of loop #1
starts with i = 4
1st iteration of loop #2
starts with i = 0
ends with i = 1
2nd iteration of loop #2
starts with i = 1
ends with i = 2
3rd iteration of loop #2
starts with i = 2
ends with i = 3
ends with i = 4

безкрайно ;)