【发布时间】:2017-02-20 07:11:00
【问题描述】:
您可以在下面找到用于创建 1 到 80 之间的 8 个随机数的代码。它将随机数放入 numbers 数组并写入 div。如果在 if 括号内增加 x ,则代码运行没有任何问题。 如果我将“x++”放在 if 括号之外,经过几次运行后,我发现有时它会创建相同的随机数并在 numbers 数组中找到。然后它跳过并且那个 div 为空。
在 if 块中增加 x 和在 if 块之外增加 x 有什么区别?
在 if 块内:
var numbers = []
var luckyNumber;
var x = 1;
while (x <= 8) {
luckyNumber = Math.floor(Math.random() * 80 + 1);
if (numbers.indexOf(luckyNumber) == -1) {
document.getElementById('k' + x).innerHTML = luckyNumber;
numbers.push(luckyNumber);
x++;
}
}
在 if 块之外:
var numbers = []
var luckyNumber;
var x = 1;
while (x <= 8) {
luckyNumber = Math.floor(Math.random() * 80 + 1);
if (numbers.indexOf(luckyNumber) == -1) {
document.getElementById('k' + x).innerHTML = luckyNumber;
numbers.push(luckyNumber);
}
x++;
}
HTML:
<div id="k1">K1</div>
<div id="k2">K2</div>
<div id="k3">K3</div>
<div id="k4">K4</div>
<div id="k5">K5</div>
<div id="k6">K6</div>
<div id="k7">K7</div>
<div id="k8">K8</div>
【问题讨论】:
标签: javascript if-statement while-loop increment