return 会直接跳出当前作用域,继续执行下面的方法;在js中for循环没有局部作用域的概念,所以如果是多级循环会直接跳出所有的循环;
demo
for(var i=0; i<10; i++){ console.log("i"); for(var j=0; j<10; j++){ console.log("j"); for(var k=0; k<10;k++){ console.log("k"); if(k==2){ return false; } } } }
运行结果:
"i" "j" "k" "k"
break语句直接跳出当前for循环,会继续执行下面的循环
for(var i=0; i<3; i++){//循环1 console.log("i"); for(var j=0; j<3; j++){//循环2 console.log("j"); for(var k=0; k<3;k++){//循环3 console.log("k"); if(k==2){//每次运行到这儿,会直接跳出循环3,继续执行循环2 break; } } } }
continue语句直接跳出当前for循环语句,会继续当前for循环下面的语句
for(var i=0; i<3; i++){//循环1 console.log("i"); for(var j=0; j<3; j++){//循环2 console.log("j"); for(var k=0; k<3;k++){//循环3 console.log("k"); if(k==2){//当k为2时直接进入循环3的下一次循环 continue; } } } }