【发布时间】:2021-10-13 17:43:18
【问题描述】:
我正在努力理解 JS 循环。 我找到了一个在线教程,用于更改 div id="container" 的随机颜色的按钮。然而,事实证明,随机颜色在单击后经常重复。我想更改代码并逐个循环遍历数组颜色,并在每次单击后更改 div#container 的颜色。这是我的代码:
let colors = ["blue", "yellow", "green", "brown", "orange"];
let btn = document.getElementById("btn");
btn.addEventListener("click", function () {
let container = document.getElementById("container");
for (i = 0; i < colors.length; i++) {
let selectColor = colors[i];
}
container.style.backgroundColor = selectColor;
});
我收到错误:分配给未声明的变量 i。有人可以帮帮我吗?
【问题讨论】:
-
for (var i = 0; ...;你从来没有声明i???? (或let而不是var)。还有其他问题,但要解决“分配给未声明的变量i”,您需要在for()循环声明中使用变量关键字。 -
在 for (let i = ..) 中输入“let”,如下所示:stackoverflow.com/questions/31793924/…
-
@TomDev 您已经编辑了您的问题,现在代码与其原始版本有很大不同。你确定你仍然得到同样的错误吗?代码仍然不会产生你想要的结果,但我猜这个错误不会再发生了。
-
@jnpdx 当我查看修订版时并没有什么不同。而且更改甚至无关紧要,因为在以前的版本和当前版本中,
selectColor在声明的块之外使用时都会抛出 ReferenceError 。即便如此,OP 在该行之前仍会出现错误。
标签: javascript