当我尝试循环某些函数时,它会卡在randomvariable()上, 如何随机数在循环上工作而不需要每次都刷新页面
function randomvariable() {
randomvariable = Math.floor(Math.random() * 21);
document.getElementById("demo").innerHTML = randomvariable;
}
function launchfunctions() {
var count = 0;
while (count < 10) {
randomvariable();
count++;
}
}
launchfunctions();
<div id="demo" ></div>
答案 0 :(得分:4)
您正在重新定义randomvariable
,使用var
或将您的变量称为其他内容。
function randomvariable() {
var randomvariable = Math.floor(Math.random() * 21);
document.getElementById("demo").innerHTML = randomvariable;
}
或
function randomvariable() {
mynum = Math.floor(Math.random() * 21);
document.getElementById("demo").innerHTML = mynum;
}
虽然请注意在定义变量时应始终使用var
关键字,但在第二个示例中已将其省略,以显示仅调整变量名称可以解决问题。
注意:
var
的变量将使其在非严格模式下成为全局变量。这就是在函数中使用var
的原因。答案 1 :(得分:0)
您正在将randomvariable
函数的属性更改为具有全局范围的变量,因此,当流进入randomvariable函数时,属性将更改并报告错误消息。如果使用var
,则变量在您所在的范围内声明(例如函数)。
我修改了代码以显示随机数。
function randomvariable() {
var randomvariable = Math.floor(Math.random() * 21);
document.getElementById("demo").innerHTML += randomvariable + "-";
}
function launchfunctions() {
var count = 0;
while (count < 10) {
randomvariable();
count++;
}
}
&#13;
<html>
<body onload="launchfunctions()">
<div id="demo"></div>
</body>
</html>
&#13;