小码哥的IT人生

JavaScript For 循环

JavaScript基础 2022-04-25 01:33:41小码哥的IT人生shichen

JavaScript For 循环

循环可多次执行代码块。

JavaScript 循环

假如您需要运行代码多次,且每次使用不同的值,那么循环(loop)相当方便使用。

通常我们会遇到使用数组的例子:

不需要这样写:

text += cars[0] + "<br>"; 
text += cars[1] + "<br>"; 
text += cars[2] + "<br>"; 
text += cars[3] + "<br>"; 
text += cars[4] + "<br>"; 
text += cars[5] + "<br>"; 

您能够这样写:

for (i = 0; i < cars.length; i++) { 
    text += cars[i] + "<br>";
 }

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 循环</h1>
<p id="demo"></p>
<script>
var cars = ["BMW", "Volvo", "porsche", "Ford", "Fiat", "Audi"];
var text = "";
var i;
for (i = 0; i < cars.length; i++) {
  text += cars[i] + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>

运行结果:

Javascript 循环

BMW
Volvo
porsche
Ford
Fiat
Audi

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

不同类型的循环

JavaScript 支持不同类型的循环:

  1. for - 多次遍历代码块
  2. for/in - 遍历对象属性
  3. while - 当指定条件为 true 时循环一段代码块
  4. do/while - 当指定条件为 true 时循环一段代码块

For 循环

for 循环是在您希望创建循环时经常使用的工具。

for 循环的语法如下:

for (语句 1; 语句 2; 语句 3) {
     要执行的代码块
}

语句 1 在循环(代码块)开始之前执行。

语句 2 定义运行循环(代码块)的条件。

语句 3 会在循环(代码块)每次被执行后执行。

示例代码:

for (i = 0; i < 5; i++) {
     text += "数字是 " + i + "<br>";
}

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 循环</h1>
<p id="demo"></p>
<script>
var text = "";
var i;
for (i = 0; i < 5; i++) {
  text += "The number is " + i + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>

运行结果:

Javascript 循环

The number is 0
The number is 1
The number is 2
The number is 3
The number is 4

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

从上面的代码中,您可以了解到:

语句 1 在循环开始之前设置了一个变量(var i = 0)。

语句 2 定义运行循环的条件(i 必须小于 5)。

语句 3 会在代码块每次执行之后对值进行递增(i++)。

语句 1

通常,您会使用语句 1 来初始化循环中所使用的的变量(i = 0)。

但情况并不总是这样,JavaScript 不会在意。语句 1 是可选的。

您可以在语句 1 中初始化多个值(由逗号分隔):

示例代码:

for (i = 0, len = cars.length, text = ""; i < len; i++) { 
    text += cars[i] + "<br>";
}

完整实例:

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var cars = ["BMW", "Volvo", "porsche", "Ford"];
var i, len, text;
for (i = 0, len = cars.length, text = ""; i < len; i++) {
  text += cars[i] + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>

运行结果:

BMW
Volvo
porsche
Ford

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

而且您还可以省略语句 1(比如在循环开始前设置好值):

示例代码:

var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) { 
    text += cars[i] + "<br>";
}

完整实例:

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var cars = ["BMW", "Volvo", "porsche", "Ford"];
var i = 2;
var len = cars.length;
var text = "";
for (; i < len; i++) {
  text += cars[i] + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>

运行结果:

porsche
Ford

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

语句 2

通常语句 2 用于计算初始变量的条件。

但情况并不总是这样,JavaScript 不会在意。语句 2 也是可选的。

如果语句 2 返回 true,那么循环会重新开始,如果返回 false,则循环将结束。

如果省略语句 2,那么必须在循环中提供一个 break。否则循环永远不会结束。请在下一章阅读更多关于 break 的内容。

语句 3

通常语句 3 会递增初始变量的值。

但情况并不总是这样,JavaScript 不会在意。语句 3 也是可选的。

语句 3 可做任何事情,比如负递增(i--),正递增(i = i + 15),或者任何其他事情。

语句 3 也可被省略(比如当您在循环内递增值时):

示例代码:

var i = 0;
var len = cars.length;
for (; i < len; ) { 
    text += cars[i] + "<br>";
      i++;
}

完整实例:

<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var cars = ["BMW", "Volvo", "porsche", "Ford"];
var i = 0;
var len = cars.length;
var text = "";
for (; i < len; ) {
  text += cars[i] + "<br>";
  i++;
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>

运行结果:

BMW
Volvo
porsche
Ford

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

For/In 循环

JavaScript for/in 语句遍历对象的属性:

示例代码:

var person = {fname:"Bill", lname:"Gates", age:62}; 
var text = "";
var x;
for (x in person) {
    text += person[x];
}

完整实例:

<!DOCTYPE html>
<html>
<body>
<h1>JavaScript 循环</h1>
<p>for/in 语句循环遍历对象的属性。</p>
<p id="demo"></p>
<script>
var txt = "";
var person = {fname:"Bill", lname:"Gates", age:62}; 
var x;
for (x in person) {
  txt += person[x] + " ";
}
document.getElementById("demo").innerHTML = txt;
</script>
</body>
</html>

运行结果:

Javascript 循环

for/in 语句循环遍历对象的属性。

Bill Gates 62

可以使用本站在线JavaScript测试工具测试上述代码运行效果:http://www.phpcodeweb.com/runjs.html

While 循环

我们将在下一章学习 while 循环和 do/while 循环。

课外书

如需更多有关 JavaScript for 语句的知识,请阅读 JavaScript 高级教程中的相关内容:

ECMAScript 迭代语句
迭代语句又叫循环语句。本节为您介绍 ECMAScript 提供的四种迭代语句。

版权所有 © 小码哥的IT人生
Copyright © phpcodeweb All Rights Reserved
ICP备案号:苏ICP备17019232号-2  

苏公网安备 32030202000762号

© 2021-2024