如何在javascript中循环随机数

时间:2017-02-19 04:44:40

标签: javascript function loops random

当我尝试循环某些函数时,它会卡在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>

2 个答案:

答案 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,则变量在您所在的范围内声明(例如函数)。

我修改了代码以显示随机数。

&#13;
&#13;
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;
&#13;
&#13;