<!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+
如果不加x+的话,每次循环时x的值都是”该数字为 i“,循环完后,x的值只是”该数字为 4+换行“;加了x+的话,第一次循环时x的值是”该数字为 1+换行“,第二次循环时x的值是”该数字为 1+换行 该数字为 2+换行“,最后循环完后就是你要的格式了。
因为这段代码里是把所有需要显示的文本放在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会把函数调用前的页面全部覆盖掉,所以还是原来那种方式比较好。
想实现第一个 但是为什么要在i前面加个x+ 我删了之后为什么直接就变成该数字为4呢
你这个是想实现:该数字为 0
该数字为 1
该数字为 2
该数字为 3
该数字为 4
还是想实现:该数字为0
该数字为 0该数字为 1
该数字为 0该数字为 1该数字为 2 这样的效果?