【问题标题】:how to loop a random number in javascript如何在javascript中循环一个随机数
【发布时间】:2017-02-19 04:44:39
【问题描述】:

当我尝试循环某些函数时,它会卡在 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();
&lt;div id="demo" &gt;&lt;/div&gt;

【问题讨论】:

  • 很可能是错误的,因为randomvariable 没有声明。
  • @Sid *被重新声明
  • @Sid 声明并在函数中被覆盖
  • @zexurity 请养成检查控制台是否有任何错误的习惯。
  • @Rajesh 所说的... randomvariable 被定义为全局范围内的函数,并且在函数内您引用相同的函数并将值更改为随机 #。

标签: javascript function loops random


【解决方案1】:

您正在重新定义 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 会起作用的原因。
  • 对函数和变量使用相同的变量名会使代码混乱并降低可读性。使用更好的命名约定。

【讨论】:

  • 它在开始时工作正常,然后它给我带来了其他功能的问题,我自己学习 javascript,所以当我有错误时我没有什么困难
  • 当我将其设置为 no global 时,随机工作正常,但下一个函数具有得分公式,我收到 NAN 警报,当我在没有 var 的情况下工作时,它正常工作
【解决方案2】:

您正在将 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++;
  }
}
<html>

<body onload="launchfunctions()">
  <div id="demo"></div>
</body>

</html>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    相关资源
    最近更新 更多