一。break
break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。
由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。
如下:
for(var i=1;i<=10;i++) { if(i==8) { break; } document.write(i); }
二。continue
continue是跳过本次循环,开始循环的下一次新迭代
continue语句只能用在while语句、do/while语句、for语句、或者for/in语句的循环体内
如下:
for(var i=1;i<=10;i++) { if(i==8) { continue; } document.write(i); }
三。return
return语句就是用于指定函数返回的值。return语句只能出现在函数体内,出现在代码中的其他任何地方都会造成语法错误!
如下:
<script> if (username==""){ alert("请输入用户名"); return false; } if(qq==""){ alert("请输入QQ"); return false; } </script>
四。标签(label)
JavaScript 语言允许,语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置。(1. 跳出指定循环。2. 跳出代码块。)
标签的语法格式如下:(标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句)
label:
语句
栗子1: 标签通常与break语句和continue语句配合使用,跳出特定的循环(对于多层循环时)
与break时:
top: for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){ if (i === 1 && j === 1) break top; console.log('i=' + i + ', j=' + j); } } // i=0, j=0 // i=0, j=1 // i=0, j=2 // i=1, j=0
上面代码为一个双重循环区块,break命令后面加上了top标签(注意,top不用加引号),满足条件时,直接跳出双层循环。如果break语句后面不使用标签,则只能跳出内层循环,进入下一次的外层循环。
与continue时:
top: for (var i = 0; i < 3; i++){ for (var j = 0; j < 3; j++){ if (i === 1 && j === 1) continue top; console.log('i=' + i + ', j=' + j); } } // i=0, j=0 // i=0, j=1 // i=0, j=2 // i=1, j=0 // i=2, j=0 // i=2, j=1 // i=2, j=2
上面代码中,continue命令后面有一个标签名,满足条件时,会跳过当前循环,直接进入下一轮外层循环。如果continue语句后面不使用标签,则只能进入下一轮的内层循环。
栗子2: 标签也可以用于跳出代码块
foo: { console.log(1); break foo; console.log('本行不会输出'); } console.log(2); // 1 // 2
上面代码执行到break foo,就会跳出区块。
诗和远方success