当前位置: 代码迷 >> 综合 >> 学习ES6(五)--循环 标签控制流程
  详细解决方案

学习ES6(五)--循环 标签控制流程

热度:19   发布时间:2023-10-24 11:46:46.0

有时,某些指令需要重复执行。循环是执行此操作的理想方法。循环代表一组必须重复的指令。在循环的上下文中,重复称为迭代

定环

迭代次数是确定/固定的循环称为确定循环。“ for循环”是确定循环的实现。

for (initial_count_value; termination-condition; step) { //statements
}   
序号 定环和说明
1  “for”循环

for循环将代码块执行指定的次数。

2 for...in循环

for ... in循环用于循环访问对象的属性。

3 for...of循环

for…of循环用于迭代可迭代对象,而不是对象常量。

 

1.for循环将代码块执行指定的次数。它可以用于迭代一组固定的值,例如数组。以下是for循环的语法。

var num = 5
var factorial=1;
for( let i = num ; i >= 1; i-- ) {factorial *= i ;
}
console.log(factorial);

for循环包括三个部分:初始化程序(i = num),条件(i> = 1)和最终表达式(i--)。

程序将计算数字5的阶乘并显示。for循环生成从5到1的数字序列,计算每次迭代中数字的乘积。

可以使用逗号运算符(,)将多个赋值和最终表达式组合在for循环中。

 

2.for ... in循环用于循环访问对象的属性。以下是“ for…in”循环的语法。

for (variablename in object) {statement or block to execute
}
在每次迭代中,将对象的一个??属性分配给变量名称,并且此循环一直进行到对象的所有属性用尽。
var obj = {a:1, b:2, c:3};for (var prop in obj) {console.log(obj[prop]);
}

for…of循环用于迭代可迭代对象,而不是对象常量。以下是“ for…of”循环的语法。

for (variablename of object){statement or block to execute
}
for (let val of[12 , 13 , 123]){console.log(val)
}

无限循环

当循环中的迭代次数不确定或未知时,将使用不确定循环。

无限循环可以使用-

序号 不确定循环和描述
1个  while循环

每当指定的条件求值为true时,while循环就会执行指令。

2 do...while循环

do ... while循环与while循环类似,不同之处在于do ... while循环在第一次执行循环时不会评估条件。

 

1.while循环 --每当指定的条件求值为true时,while循环就会执行指令。换句话说,循环在执行代码块之前先评估条件。

以下是while循环的语法。

while (expression) {Statement(s) to be executed if expression is true
}

与while循环相似,不同之处在于do...while循环不评估的第一次循环执行的条件。但是,将为后续迭代评估条件。换句话说,代码块将在do ... while循环中至少执行一次。

do {Statement(s) to be executed;
} while (expression);

循环控制语句

 

序号 循环控制语句和描述
1

break语句用于将控制从构造中取出。

2

Continue语句跳过当前迭代中的后续语句,并将控制权带回到循环的开始。

使用标签控制流程

lable是一个标识符,后跟一个冒号(:)被施加到一个语句或代码块。标签可以结合breakcontinue以更精确地控制循环。

“ continue”“ break”语句及其标签名称之间不允许换行。此外,标签名称和关联的循环之间不应有任何其他语句

 

序号 标签与说明
1 带break的label

标签可以不间断地使用,并继续更精确地控制循环。

2 带continue的label

在“ continue”或“ break”语句及其标签名称之间不允许换行。

 

outerloop: // This is the label name
for (var i = 0; i < 5; i++) {console.log("Outerloop: " + i);innerloop:for (var j = 0; j < 5; j++){if (j > 3 ) break ; // Quit the innermost loopif (i == 2) break innerloop; // Do the same thingif (i == 4) break outerloop; // Quit the outer loopconsole.log("Innerloop: " + j);}
}

成功执行上述代码后,将显示以下输出。

Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Outerloop: 2
Outerloop: 3
Innerloop: 0
Innerloop: 1
Innerloop: 2
Innerloop: 3
Outerloop: 4
outerloop: // This is the label name
for (var i = 0; i < 3; i++) {console.log("Outerloop: " + i);for (var j = 0; j < 5; j++) {if (j == 3) {continue outerloop;}console.log("Innerloop: " + j );}
}
成功执行上述代码后,将显示以下输出。
Outerloop: 0
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 1
Innerloop: 0
Innerloop: 1
Innerloop: 2
Outerloop: 2
Innerloop: 0
Innerloop: 1
Innerloop: 2

 

  相关解决方案