JavaScript中的label语句,及应用

label语句:可以在代码中添加标签,以便将来使用。

  语法:label : statement

  示例:

start:
  for(var i=0;i<10;i++){
    console.log(i);
  };

  示例扩展:

start:
  for(var i=0;i<10;i++){
    console.log(i);
    for(var j=0;j<5;j++){
      console.log(‘j‘+j);
      if(i>5){
        // break;      //只终止了最近的一个循环,上一个循环未终止
        break start;      //全部终止了

      }
    }
  };

应用场景:

var itemsId = [1,3];
var all = [[{id:1,name:hehe},{id:3,name:hehe}],[{id:2,name:hehe},{id:4,name:hehe}]];
//我们有上边两个数组,itemsId是id数组,all是一个二维数组,其中的元素是,按照id的奇偶进行区分放置的,项目的对象。现在我们希望找到每个items中id对应的对象,这时候就要多重循环来查找:
for(var i=0;i<itemsId.length;i++){
    for(var j=0;j<all.length;j++){
        for(var k=0;k<all[j].length;k++){
            if( all[j][k].id == itemsId[i] ){
                console.log(all[j][k]);
                break;
            }
        }
    }
}
//这时候我们会发现,当我们找到合适的对象之后,使用break只能跳出最内层的k循环,而j循环会继续执行下去。就产生了许多没必要的循环。我们希望,当找到之后,直接跳到j循环外,从下一个id开始查找。此时,就要用到label了。代码如下:
for(var i=0;i<itemsId.length;i++){
    outPoint:
    for(var j=0;j<all.length;j++){
        for(var k=0;k<all[j].length;k++){
            if( all[j][k].id == itemsId[i] ){
                console.log(all[j][k]);
                break outPoint;
            }
        }
    }
}
//这样,在all[j][k].id == itemsId[i]的时候,就会跳出到outPoint的位置,直接跳出两个循环,从下一个id开始查找。少循环了许多次。

原文地址:https://www.cnblogs.com/LChenglong/p/9272955.html

时间: 2024-10-30 12:25:50

JavaScript中的label语句,及应用的相关文章

Javascript中的Label语句

在javascript中,我们可能很少会去用到 Label 语句,但是熟练的应用 Label 语句,尤其是在嵌套循环中熟练应用 break, continue 与 Label 可以精确的返回到你想要的程序的位置. Label 语句,按书本上说的语法是: Label: statement 如: begin: for (var i = 0; i < 10 ; i++ ){ alert(i); } 举一个比较典型的例子,看完后即明白 Label 的应用:(未添加 Label) var num = 0;

JavaScript中:表达式和语句的区别

JavaScript中:表达式和语句的区别 Javascript语言精粹:表达式是由运算符构成,并运算产生结果的语法结构.程序是由语句构成,语句则是由":(分号)"分隔的句子或命令.如果在表达式后面加上一个":"分隔符,这就被称为"表达式语句".它表明"只有表达式,而没有其他语法元素的语句" 原文:http://www.2ality.com/2012/09/expressions-vs-statements.html 本文要讲

JavaScript 中表达式和语句的区别

1.语句和表达式 JavaScript中的表达式和语句是有区别的.一个表达式会产生一个值,它可以放在任何需要一个值的地方,比如,作为一个函数调用的参数.下面的每行代码都是一个表达式: myvar3 + xmyfunc("a", "b") 语句可以理解成一个行为.循环语句和if语句就是典型的语句.一个程序是由一系列语句组成的.JavaScript中某些需要语句的地方,你可以使用一个表达式来代替.这样的语句称之为表达式语句.但反过来不可以:你不能在一个需要表达式的地方放

javascript 中的with语句使用

在JS中,with 语句的作用是将代码的作用域设置到一个特定的对象中.其语法如下:with (expression) statement; 定义 with 语句的目的主要是为了简化多次编写同一个对象的工作,如下面的代码: var qs = location.search.substring(1); var hostName = location.hostname; var url = location.href; 上面几行代码都包含 location 对象.如果使用 with 语句,可以把上面的

JavaScript中的with语句使用方法

1)简要说明         with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性.要给对象创建新的属性,必须明确地引用该对象. 2)语法格式  with(object instance)  {          //代码块  }         有时候,我在一个程序代码中,多次需要使用某对象的属性或方法,照以前的写法,都是通过:对象.属性或者对象.方法这样的方式来分别获得该对象的属性和方法,着实有点麻烦,学习了with语句后,可以通过类似如下的方式来实现:  w

JavaScript中的分支语句

Javascript的分支语句有两种,if...else...分支语句:switch...case...分支语句. if...else...分支 if后面的括号里面需要一个bool值或者一个逻辑表达式,如果后面只有一行要执行的语句,花括号可以省略不写.如果有多个条件判断,可以在else后面加上if判断即可. 看下面的几个示例: var num = 100; //定义变量num,并赋值 //if语句开始,判断num是否等于100,如果是,则执行花括号内的语句 if (num == 100) { n

3:JavaScript中的各类语句

上面我们说完了数据类型和基本运算  下面说的就是各种类型的语句 --- ------------------------------------------------------------------------ 块语句{} var申明语句 try--catch语句 函数function switch 循环 等等

js中的标记(label)语句

标记语句常常跟break或者continue语句结合使用,用于跳出循环至指定位置: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Js 高级教程1</title> </head> <body> <script> var iNum = 0; outermost: for

Javascript基本概念(语句和函数)

语句 for语句 for语句中的初始化表达式,控制表达式和循环后表达式都是可选的,将这三个表达式省略,就会创建一个无线循环. ECMAScript中不存在块级作用域,因此在循环内容部定义的变量也可以在外部访问到. for-in语句 主要用来枚举对象的属性(数组也是对象的一种) var obj = { a:'this is a', b:'this is b', c:'this is c' }; var arr = [ 'arr1', 'arr2', 'arr3' ]; for(var o in o