为什么iNum=15,特别不明白的是continue mypoint部分是怎么样执行

var iNum=0;
for(var m=0; m<3; m++){

mypoint: for(var n=0; n<5; n++){

for(var k=0; k<5; k++){

if(k==1) continue mypoint;
iNum++;
}

}

alert(“hi”);                 //这里会弹出提示几次? 

}

alert(iNum); //iNum的值是多少?

第一
alert("hi");
弹出3次
第二
iNum=15,每进入到k的循环后,k=0 iNum++;然后k=1,continue mypoint,k层循环结束,进入下一次的mypoint的循环。
iNum++共执行m*n也就是15次

那它执行mypoint的循坏里不包括K的循环的吗?

15是不错的,从循环体和continue的判断条件来看,m层执行3次,n层在m各层下执行5次,k层循环在n各层循环下只执行一次也就是k=0时会往下执行inum++

var iNum=0;
for(var m=0; m<3; m++){
debugger
alert(m);
mypoint: for(var n=0; n<5; n++){
alert(n);
for(var k=0; k<5; k++){
alert(k);
if(k==1) continue mypoint;
iNum++;
}

            }
        alert("hi");  }
        alert(iNum);
        进入debug模式下操作可以看的一清二楚

m层循环执行3次 n层循环执行5次 k循环只执行一次(k=0那一次) 所以 hi 次数是三次 然后 iNum++执行15次 所以分别是3次 hi 和 iNum = 15