break,continue,return三者的区别:
一.break是跳出当前的循环,不再继续执行循环中的语句,跳出一层的父级循环,外面的多层嵌套还是继续。
var text="sss"
var isInSnake=true
while(isInSnake){
for(var i=0;i<3;i++){
for(var n=0;n<3;n++){ // break之后这一层循环不再继续,再执行 for(var i=0;i<3;i++)循环时,继续执行
if(text=="sss"){
console.log("isInSnake=true")
break //
}
console.log("break1")
}
console.log("break2")
}
isInSnake=false
console.log("break3")
}
continue的功能和break有点类似,区别是continue只是中止本次循环,接着开始下一次循环,即循环还是会继续,只是中止了这一次。而break则是完全中止循环
while(isInSnake){
for(var i=0;i<3;i++){
for(var n=0;n<3;n++){
if(text=="sss"){
console.log("isInSnake=true")
continue //continue语句的作用是跳过本次循环体中余下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为仅结束本次循环
}
console.log("continue1")// console.log("dddddddddddd")不会被执行
}
console.log("continue2")
}
isInSnake=false
console.log("continue3")
}
console.log("continue4")
return是跳出所有循环体,跳出这个函数方法,无论外面嵌套多少层循环,都是直接跳出这个函数方法
while(isInSnake){//设置小方块
for(var i=0;i<3;i++){
for(var n=0;n<3;n++){
if(text=="sss"){
console.log("isInSnake=true")
return //return则是跳出这个方法,后面不会继续执行,结束循环
}
console.log("return1")
}
console.log("return2")
}
isInSnake=false
console.log("return3")
}