【发布时间】:2012-09-21 01:36:47
【问题描述】:
由于某种原因,以下代码不起作用。
var a1 = Math.floor(Math.random()*4+1);
//Answer2
for(a2 = 0; a2 != a1 && a2 != 0; a2 = Math.floor(Math.random()*4+1)){
alert(a2);
}
我试图让“a2”成为 1-4 的 int,但不等于“a1”。
怎么了? 提前谢谢!!!
编辑:
感谢大家的帮助! 这是我的最终结果:
var a1, a2;
a1 = Math.floor(Math.random()*4+1);
a2 = a1;
while(a2 == a1){
a2 = Math.floor(Math.random() * 3 + 1);
alert(a2);
}
【问题讨论】:
-
有什么理由更喜欢
Math.floor(x + 1)而不是Math.ceil(x)?我能想到的唯一原因是Math.random()的返回结果可能是[0,1) -
@wim:确实,这就是
Math.random()返回的内容。 Slulego:alert(a2)不应该在循环之外吗? -
我使用 alert(a2) 只是为了跟踪正在发生的事情......(实际上我开始使用 console.log 代替)
标签: javascript math random for-loop