问答详情
源自:4-5 重复重复(for循环)

来个大佬解释下

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8">

<title>W3Cschool教程(w3cschool.cn)</title>

</head>

<body>


<p>点击按钮循环代码5次。</p>

<button onclick="myFunction()">点击这里</button>

<p id="demo"></p>

<script>

function myFunction(){

    var x="";

    for (var i=0;i<5;i++){

        x=x+"该数字为 " + i + "<br>";

    }

    document.getElementById("demo").innerHTML=x;

}

</script>

</body>

</html>


//里面的 x=x+"该数字为 " + i + "<br>";  为什么要在前面加个 x+


提问者:懒得起名字_3 2019-03-29 18:40

个回答

  • qq_凡星_4
    2019-05-15 23:28:30

    如果不加x+的话,每次循环时x的值都是”该数字为 i“,循环完后,x的值只是”该数字为 4+换行“;加了x+的话,第一次循环时x的值是”该数字为 1+换行“,第二次循环时x的值是”该数字为 1+换行 该数字为 2+换行“,最后循环完后就是你要的格式了。

  • keydew
    2019-04-01 15:50:21

    因为这段代码里是把所有需要显示的文本放在x这一个变量里的,代码里for循环:

    for (var i=0;i<5;i++){
        x=x+"该数字为 " + i + "<br>";
    }

    是循环给x变量追加文本,直到循环结束后再通过innerHTML直接把值给到id为demo的p元素来显示:

    document.getElementById("demo").innerHTML=x;

    如果你想把x+去掉也可以,只是文本输出的方式和位置也要换一下,要换在for循环里,每个循环输出一次,如将函数myFunction里内容替换为:

    var x="";
    for (var i=0;i<5;i++){
       x="该数字为 " + i + "<br>";
       document.write(x);
    }

    这样就可以就可以达到同样的效果,只是document.write会把函数调用前的页面全部覆盖掉,所以还是原来那种方式比较好。

  • 懒得起名字_3
    2019-03-29 19:00:09

    想实现第一个 但是为什么要在i前面加个x+  我删了之后为什么直接就变成该数字为4呢

  • 阿穆哥哥
    2019-03-29 18:57:35

    你这个是想实现:该数字为 0

    该数字为 1

    该数字为 2

    该数字为 3

    该数字为 4

    还是想实现:该数字为0

    该数字为 0该数字为 1

    该数字为 0该数字为 1该数字为 2    这样的效果?