为什么我的变量在 javascript 中未定义?

Why is my variable getting undefined in javascript?

我正在编写一些代码,首先提取 1-6 之间的随机数 (getRand6)。

然后它循环遍历 while 语句的次数与为 getRand6 提取的数字一样多。循环的每个循环都会根据 1-10 之间的另一个随机数(getRand10)拉出一种颜色。

然后用颜色名称创建一个html段落并将其添加到allColors,然后从getRand6中减去1。

当 getRand6 为 0 时,它退出 while 循环并将 allColors 发送到 ID 为“colors”的对象。

一切似乎都在工作,但随着颜色名称的出现,我在 allColors 的开头出现了“未定义”。例如。粗略的页面代码会显示如下内容:

undefined
<p>Red</p>
<p>Green</p>
<p>Red</p>
<p>Blue</p>

我确信这是我忽略的一个简单的事情,但我对这一切还是有点陌生​​,希望得到帮助。

getRand6 = Math.floor(Math.random()*6) + 1;
var allColors;
while (getRand6 > 0) {
    getRand10 = Math.floor(Math.random()*10) + 1;

    if (getRand10 > 0 && getRand10 < 4) {specColor = "Red";}
    else if (getRand10 > 3 && getRand10 < 7) {specColor = "Green";}
    else if (getRand10 > 6 && getRand10 < 10) {specColor = "Blue";}
    else {specColor = "White";};

    allColors += "<p>" + specColor + "</p>";

    getRand6--;
}
document.getElementById ('colors').innerHTML = allColors;

只需更改此

var allColors;

进入这个

var allColors="";

您的问题是您将 += 与 allcolors 一起使用,但第一次 allcolor 未定义