js双循环break与continue分析

示例:

var num = 0;

outermost:

for (var i = 0; i < 10; i++){

for (var i = 0; i < 10; i++){

if(i == 5 && j == 5){

break outermost;

}

num ++;

}

}

alert(num ++);    //55


当时看这个例子的时候有点晕,了解到内循环结束标签时会结束整个循环,但是我想把标签去掉的话,为什么会执行95次,理解了当i,j都等于5的时候,内循环会跳出,也就是i=5时,j=5之后的部分就不执行,直接跳到i=6,一直没理解为什么这个后面还是会继续执行,这个时候执行次数为95,看来是我continue没理解透,这种情况下如果将break更换为continue的话是执行了99次,这个部分是只跳过了i=5,j=5但是会继续执行i=5,j=6以及之后部分


var num = 0;

outermost:

for (var i = 0; i < 10; i++){

for (var i = 0; i < 10; i++){

if(i == 5 && j == 5){

continue outermost;

}

num ++;

}

}

alert(num ++);    //95

但是这部分,当循环到i=5,j=5时,内部循环就会由于加了标签,跳出,结果也就与上面例子只有break一样了


你可能感兴趣的:(javascript)