function doItAgain() {
var loopCount = 5;
while(loopCount > 0) {
var target = document.getElementById("target");
target.innerHTML = "LoopCount: " + loopCount + "<br>" + target.innerHTML;
console.log("LoopCount is now: " + loopCount);
loopCount = loopCount -1;
}
这是当前功能。 它由使用onclick事件处理程序定义的按钮激活。
现在,我的问题是:为什么按下按钮后,数字从1到5而不是从控制台的5到1,为什么会显示? 我已经知道,如果将target.innerHTML设置为句子的开头,它将在我的网页中将它们从5显示为1,但是我不知道为什么会这样
答案 0 :(得分:1)
考虑此行的作用:
target.innerHTML = "LoopCount: " + loopCount + "<br>" + target.innerHTML;
让我们说target.innerHTML
在第一个循环之后包含
LoopCount: 5<br>
然后在loopCount = 4
循环中,您正在做
target.innerHTML = "LoopCount: " + loopCount + "<br>" + target.innerHTML;
再次是
target.innerHTML = "LoopCount: " + loopCount + "<br>" + "LoopCount: 5<br>";
// -----------------------------------------------------^^^^^^^^^^^^^^^^^^
所以你得到
LoopCount: 4<br>LoopCount: 5
以此类推。
如果将innerHTML
放在第一行,则会颠倒顺序:
target.innerHTML = target.innerHTML + "<br>LoopCount: " + loopCount;