生成一个最多50的随机数.让用户使用JavaScript猜测该随机数的5倍

Generate a random number up to 50. Have the user guess up to 5 times what that random number is using JavaScript

本文关键字:随机数 用户 JavaScript 5倍 一个      更新时间:2023-09-26

我目前正在学习Java Script,想知道我的代码出了什么问题。我想生成一个多达50的随机数,然后让用户猜测多达5倍的随机数

提前谢谢。

<body onload="myFunction()">
<script>
var random = Math.floor(math.random()*51);
var user = prompt("Guess my number");
var guess ="";
function myFunction() {
for (var i=0; i < 6; i++) {

if (user != random) {
        alert('try again');
        guess+=1;
    else if (user == random) {
        alert('You win!');
        }
 return alert('Sorry, you lose!');
     };
   }
</script>

</body>
</html>

参考此示例:

var random = Math.floor(Math.random() * 51); //Get random number
//----------------------^^ Typo here
var guess = 0;
function myFunction() { //Invoke this function on page load
  if (guess < 6) { //test the counter every time 
    var user = prompt("Guess my number");
    if (user != random) {
      alert('try again');
      guess += 1; //Increase the counter
      myFunction(); //Invoke the function again
    } else if (user == random) {
      alert('You win!');
    }
  } else {
    alert('Sorry, you lose!');
  }
};
<body onload="myFunction()">
</body>

将代码封装到自调用函数中是一种很好的做法

(function() {
//your code here
})()

它有助于防止变量在全局范围内乱丢垃圾,并使代码立即运行。现在您不需要使用onload="myFunction()"。这是带有for循环的版本:

(function () {
    var random = Math.floor(Math.random() * 51);
    function myFunction() {
        for (var i = 0; i < 6; i++) {
            if (i != 5) {
                var user = prompt("Guess my number");
                if (user != random) {
                    alert('try again');
                } else if (user == random) {
                    alert('You win!');
                }
            } else {
                alert('Sorry, you lose!');
            }
        }
    }
    myFunction(); //invoking function
})()