我应该用什么方法来获取javascript中的随机数?

时间:2017-07-26 14:01:40

标签: javascript angular typescript

睡眠3小时,我无法弄清楚......:S

我有一个工作的东西,但我正在更改代码并删除它现在我无法弄清楚它。 我真的需要帮助...

<!DOCTYPE html>
<html>
<body>

<p>Click the button to display a random number between 1 and 100.</p>

<button onclick="myFunction()">myFunction()</button>
<button onclick="myFunction2()">myFunction2()</button>

<p id="demo"></p>
<p id="demo2"></p>

<script>
var number = Math.floor((Math.random() * 100) + 1);

var number2 = 0;
function myFunction() {
	number2 = Math.floor((Math.random() * 100) + 1);
    var x = document.getElementById("demo")
    x.innerHTML = number2;
}
//number2 is still 0.
function myFunction2() {
    var x = document.getElementById("demo2")
    x.innerHTML = number;
}

//number is stuck at the beginning number

</script>

</body>
</html>

我需要从myFunction2生成新数字。 我如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

您已经在使用myFunction()创建随机数,但它似乎不是问题。在myFunction2()中你不会改变或真正任何事情,所以你怎么期望它继续创建随机数?你能让问题更清楚吗?

编辑:只需将此行放在myFunction2()中,而不是放在保存它的位置,它应该有效:

var number = Math.floor((Math.random() * 100) + 1);

在实际为var x指定任何内容之前输入此内容。

答案 1 :(得分:0)

number在JavaScript处定义一次。您可以使用在myFunction处执行的相同方法,在number

中再次定义myFunction2

&#13;
&#13;
<!DOCTYPE html>
<html>

<body>

  <p>Click the button to display a random number between 1 and 100.</p>

  <button onclick="myFunction()">myFunction()</button>
  <button onclick="myFunction2()">myFunction2()</button>

  <p id="demo"></p>
  <p id="demo2"></p>

  <script>
    var number = 0;

    var number2 = 0;

    function myFunction() {
      number2 = Math.floor((Math.random() * 100) + 1);
      var x = document.getElementById("demo")
      x.innerHTML = number2;
    }

    function myFunction2() {
      number = Math.floor((Math.random() * 100) + 1)
      var x = document.getElementById("demo2")
      x.innerHTML = number;
    }

  </script>

</body>

</html>
&#13;
&#13;
&#13;