- break
跳出代码块或循环
var i = 0; while ( i <= 10){ console.log(' i '); i ++; if ( i === 5 ) break; }
// 0 1 2 3 4for (var i = 0; i < 5; i++) { console.log(i); if (i === 3) break; } // 0 // 1 // 2 // 3
- continue
continue
语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
var i = 0; while (i < 100){ i++; if (i % 2 === 0) continue; console.log('i 当前为:' + i); }
上面代码只有在
i
为奇数时,才会输出i
的值。如果i
为偶数,则直接进入下一轮循环。 -
标签(label)
语句的前面有标签(label),相当于定位符,用于跳转到程序的任意位置,标签的格式如下。label: 语句
标签可以是任意的标识符,但不能是保留字,语句部分可以是任意语句。
标签通常与
break
语句和continue
语句配合使用,跳出特定的循环。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语句后不使用标签,只能跳出内层循环,进入下一次的外层循环。
标签也可以跳出代码块foo: { console.log(1); break foo; console.log('本行不会输出'); } console.log(2); // 1 // 2
上面代码执行到
break foo
,就会跳出区块。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
语句后面不使用标签,则只能进入下一轮的内层循环。
原文链接:https://wangdoc.com/javascript/basic/grammar.html