break语句
单独使用break语句的作用是立即退出最内层的循环或switch语句。语法:break;
由于它能够使循环和switch语句退出,因此这种形式的break只有出现在这类语句中才是合法的。
在循环中,不论出于什么原因,只要不想继续执行整个循环,就可以用break来提前退出。当循环终止条件非常复杂,在函数体使用break更简单合理。
JavaScript同样允许break关键字后面跟随一个语句标签:
break labelname;
当break和标签一块使用的时候,程序将跳转到这个标签所标识的语句块结束,或者直接终止这个闭合语句块的执行。当没有任何闭合语句块指定了break所用的标签,这时会产生一个语法错误。当使用这种形式的break语句时,带标签的语句不应该是循环或者switch语句,因为“break”可以跳出任何闭合的语句块。
在break关键字和labelname之间不能换行,JavaScript会自动给语句补全省略掉的分号。
如果希望通过break来跳出非就近的循环体或者switch语句时,就会用到带标签的break语句:
var matrix = [[1,2],[3,4],[5,6],[7,8]];
var sum = 0,success = false;
compute_sum: if(matrix){
for(var x = 0 ;x < matrix.length; x++){
var row = matrix[x];
if(!row) break compute_sum;
for(var y = 0; y < row.length; y++ ){
var cell = row[y];
if(isNaN(cell))break compute_sum;
sum += cell;
}
}
success = true;
}
console.log(sum); 36
console.log(success); true
*注意:不管break语句带不带标签,它的控制权都无法越过函数的边界。