新葡新京详解JavaScript中循环控制语句的用法_基础知识_脚本之家

 新葡新京     |      2020-02-29 23:22

JavaScript提供完全控制来处理循环和switch语句。可能有一种情况,当你需要退出一个循环,但未达到其底部。也可能有一种情况,当要跳过的码块的一部分,并直接开始下一个迭代。

为了处理这些情况下,JavaScript提供了break和continue语句。这些语句是用来马上退出任何循环或启动循环的下一次迭代。break 语句:

break语句,这是简单地用switch语句介绍,用于提前退出循环,打破封闭的花括号。例子:

这个例子说明了如何使用break语句同while循环。请注意循环打破了初期由x到5,document.write 语句的正下方,以右大括号:

<!--var x = 1;document.write("Entering the loop<br /> ");while { break; // breaks out of loop completely } x = x + 1; document.write;}document.write("Exiting the loop!<br /> ");//-->

Entering the loop2345Exiting the loop!

我们已经看到break语句在switch语句中使用。continue 语句:

continue语句告诉解释器立即启动循环的下一次迭代,并跳过其余的代码块。

当遇到continue语句,程序流程将立即转移到循环检查表达式,如果条件保持真,那么就开始下一个迭代,否则控制退出循环。例子:

这个例子说明使用continue语句同while循环。请注意continue语句用于跳过打印时指数变量x到达5:

<!--var x = 1;document.write("Entering the loop<br /> ");while { x = x + 1; if { continue; // skill rest of the loop body } document.write;}document.write("Exiting the loop!<br /> ");//-->

Entering the loop234678910Exiting the loop!

从JavaScript1.2开始,标签可以与break及continue使用,继续更精确地控制流程。

标签是简单的标识符随后被施加到一个语句或代码块冒号。看到两个不同的例子来了解标签使用突破,并继续。

注:换行符是不是继续还是分手声明,其标签名称之间允许的。此外,不应该有一个标签名称和相关联的回路之间的任何其它声明。实例1:

<!--document.write("Entering the loop!<br /> ");outerloop: // This is the label namefor (var i = 0; i < 5; i++){ document.write("Outerloop: " + i + "<br />"); innerloop: for (var j = 0; j < 5; j++) { if  break ; // Quit the innermost loop if  break innerloop; // Do the same thing if  break outerloop; // Quit the outer loop document.write("Innerloop: " + j + " <br />"); }}document.write("Exiting the loop!<br /> ");//-->

Entering the loop!Outerloop: 0Innerloop: 0 Innerloop: 1 Innerloop: 2 Innerloop: 3 Outerloop: 1Innerloop: 0 Innerloop: 1 Innerloop: 2 Innerloop: 3 Outerloop: 2Outerloop: 3Innerloop: 0 Innerloop: 1 Innerloop: 2 Innerloop: 3 Outerloop: 4Exiting the loop!

实例2:

<!--document.write("Entering the loop!<br /> ");outerloop: // This is the label namefor (var i = 0; i < 3; i++){ document.write("Outerloop: " + i + "<br />"); for (var j = 0; j < 5; j++) { if { continue outerloop; } document.write("Innerloop: " + j + "<br />"); } }document.write("Exiting the loop!<br /> ");//-->

Entering the loop!Outerloop: 0Innerloop: 0Innerloop: 1Innerloop: 2Outerloop: 1Innerloop: 0Innerloop: 1Innerloop: 2Outerloop: 2Innerloop: 0Innerloop: 1Innerloop: 2Exiting the loop!