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>";

这样写:

<!DOCTYPE html>
<html lang="en">

<body>
    <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 支持不同类型的循环:

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

For 循环

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

for 循环的语法如下:

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

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

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

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

<!DOCTYPE html>
<html lang="en">

<body>
    <p id="demo"></p>
    <script>
        var text="";
        var i;
        for (i=0;i<5;i++){
            text+="晚上好"+i+"<br>";
        }
        document.getElementById("demo").innerHTML=text;
    </script>
</body>
</html>

结果:

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

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

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

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

<!DOCTYPE html>
<html lang="en">

<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>

结果:

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

<!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>

结果:

语句 2

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

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

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

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

语句 3

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

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

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

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

<!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>

结果:

For/In 循环

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

<!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>
//Bill Gates 62
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值