break和continue:
代码如下:
var count=0;
outermost:
for(var i=0;i<10;i++){
for(var j=0;j<10;j++){
if(i==5&&j==5){
break outermost;
}
count++
}
}
console.log(count);//输出55
var count=0;
outermost: //最外层的
for(var i=0;i<10;i++){
for(var j=0;j<10;j++){
if(i==5&&j==5){
continue outermost;
}
count++
}
}
console.log(count);//输出95
break是结束整个循环,也就是后面的循环不执行, continue是结束当前循环,后面的循环还是要执行。
第一个用break,i<5一共执行了50次,当i=5时,j<5执行了5次,然后走break语句,直接结束所有循环,
所以是55.第二个用continue,同理i<5一共执行了50次,当i=5时,j<5执行了5次,这时是55次,
当i和j都等于5时,走continue,然后结束当前循环(只退出当前这个for循环,外层for循环还要继续执行),
意思是此时直接跳过内循环也就是j=5这一拨,然后执行i=6,然后继续往下执行,中间少了5次,所以最后是95。