2017-07-26 27 views
0

3小時的睡眠,我無法弄清楚這一點...:S我應該用什麼方法在javascript中獲取隨機數字?

我有一個工作的東西,但我改變了很多的代碼,現在把它刪除了,我無法找回它。 我真的需要幫助......

<!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() { 
 
\t 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新號碼。 我該如何做到這一點?

+0

myfunction2()每次都會生成新的數字。你應該再次檢查你的問題。 – shaina

+0

@shaina'myFunction2'在哪裏生成一個新號碼? – guest271314

+0

源代碼管理是偉大的發現這種事情! – Vega

回答

0

number在問題的JavaScript中定義一次。您可以使用您在myFunction也做了同樣的方法,使用myFunction的()內myFunction2

<!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>

+0

可以說我有另一個功能,需要在myfunction()中生成的隨機數,如下所示: function3(number2); – Nakomoto

+0

number2仍然是0 ... – Nakomoto

+0

您需要在'myFunction'調用中將'number2'傳遞給'function3',重新定義'number2'之後 – guest271314

0

您已經創建隨機數再次定義number,它似乎並不像一個問題。在myFunction2()中,你不會改變或者真的什麼,所以你如何期望它繼續創建隨機數?你能否讓你的問題更清楚一點?

編輯:只要將您myFunction2內這條線()來代替,你必須保持它,它應該工作:

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

輸入此之前,你實際上指定什麼變種X。

相關問題