JavaScript 中 label 语句的应用

在《JavaScript 高级程序设计》 3.6.6 章节中介绍了 label 语句。

语法:

label: statement

起到一个命名标记的作用,以便将来由 break 或 continue 语句引用。这种联合使用的情况通常发生在循环嵌套的中。书中示例如下:

var num;
outermost:
for (var i=0; i<10; i++){
    for (var j=0; j<10; j++){
        if (i ==5 && j == 5){
            break outermost;
        }
        num++;
    }
}
alert(num); // 结果为:55

之所以是这个结果,是因为当 i 分别等于 0、1、2、3、4 时,内部 for 循环共执行了 50 次,当 i 等于 5 时内部 for 循环还可执行 5 次,当 j 也等于 5 时,break 语句跳出了循环,并继续向下执行 alert 语句。(将 break 换成 continue ,结果为 95 。当 i 和 j 都为 5 时,continue 跳出循环至 outermost,并继续执行循环,此时 i 分别为 6、7、8、9,内部 for 循环共计执行 40 次,num 结果为95 次。)

应用实例(来源:请问大家是如何在实践中使用label语句的

<form name="f">
  <input name="t1" /><br/>
  <input name="t2" /><br/>
  <input name="t3" /><br/>
  <input name="t4" /><br/>
  <input type="submit" />
</form>
<script>
var f=document.forms.f;
f.onsubmit=function(){
  chk:{
    if(f.t1.value=="")break chk;
    if(f.t2.value=="")break chk;
    if(f.t3.value=="")break chk;
    if(f.t4.value=="")break chk;
    alert("验证通过!");
    return true;
  };
  alert("验证失败");
  return false;
};
</script>

当任何一个 input 为空的时候,都会弹出验证失败。

不过 label 语句,很少在实际中进行应用。

本文由 杂话 作者:顾顾顾北辰 发表,其版权均为 杂话 所有,文章内容系作者个人观点,不代表 杂话 对观点赞同或支持。如需转载,请注明文章来源。
0

发表评论