拾取随机数游戏的Javascript代码不起作用

拾取随机数游戏的Javascript代码不起作用,javascript,debugging,Javascript,Debugging,我刚开始学习javascript,我想尝试编写一个简单的游戏来测试我的技能。很明显,我的代码很少,因为基本游戏的代码不起作用 在这个游戏中,用户会被提示通过点击按钮生成一个随机数,一旦他们点击按钮,他们就可以输入猜测并提交。提交猜测后,他们可以单击最后一个按钮查看猜测是否正确 不幸的是,当我试图运行代码时,它跳过了if-else语句,无论我插入了什么,我都不知道为什么。我将非常感谢你的帮助。请不要只是给我一个更好的代码,我知道有很多更简单的方法我可以写它。但是,能够在这样一个简单的程序中发现并分

我刚开始学习javascript,我想尝试编写一个简单的游戏来测试我的技能。很明显,我的代码很少,因为基本游戏的代码不起作用

在这个游戏中,用户会被提示通过点击按钮生成一个随机数,一旦他们点击按钮,他们就可以输入猜测并提交。提交猜测后,他们可以单击最后一个按钮查看猜测是否正确

不幸的是,当我试图运行代码时,它跳过了if-else语句,无论我插入了什么,我都不知道为什么。我将非常感谢你的帮助。请不要只是给我一个更好的代码,我知道有很多更简单的方法我可以写它。但是,能够在这样一个简单的程序中发现并分类bug,可能会在将来帮助我在自己的代码中发现bug

谢谢

这是密码……别取笑我,我是新手

<!DOCTYPE html>
 <html>

 <body>

<button onclick="genNum()"> Random Number </button>
<p id="demo"></p>

<form id="form1">
 Guess: <input name="userGuess" type="number" size="20">
</form>

<button onclick="outputnum()"> Submit </button> 

<button onclick="guessNum()"> Run Guess Num Function </button>

</body>

随机数

猜测: 提交 运行Guess Num函数

var-ranNum;
函数genNum(){
var ranNum=Math.floor(Math.random()*101);
document.getElementById(“demo”).innerHTML=
兰努姆;
}
函数outputnum(){
x=document.getElementById(“form1”);
userguess=x.elements[“userguess”].value;
}
函数guessNum(){
if(ranNum==userguess){
警惕(“你70岁”);
}else if(ranNum
当您使用
var ranNum
声明变量时,这将使其成为包含声明的函数的局部变量。因此,
genNum
正在为局部变量赋值,而
guessNum
正在查看全局变量

genNum
中的赋值中删除
var
关键字 欢迎来到Stack Overflow Duckling70。此外,欢迎使用JavaScript

请在此处查看代码的工作示例

范围内的简短教训 JavaScript变量声明很有趣,因为它是动态的,并且是被提升的。让我向您展示一个示例,说明函数“闭包”和范围是如何相互作用的:

var num = 3;

function printThree() {
    return num
}

printThree() // returns 3 bc it can access the num variable set on "global scope" 
console.log(num) // returns 3 from global scope

function printFive() {
    var num = 5; // this variable exists only within this function
    return num;
}

printFive() // returns 5 because it references num from the scope of the function
console.log(num) // returns 3 because it does not have access to the scope within the function
完整HTML解决方案 最后,这里是问题的总结性解决方案代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title></title>
</head>
<body>
<h1>Steps</h1>
  <ol>
    <li>Click Random Number.</li>
    <li>Enter your guess then click Submit.</li>
    <li>Click Run Guess Num Function to see how close you got!</li>
  </ol>
  <button onclick="genNum()">Random Number</button>
  <p id="demo"></p>
  <form id="form1">
     Guess:<input name="userGuess" type="number" size="20">
  </form>
  <button onclick="setOutputNum()">Submit</button>
  <button onclick="compareGuessToNum()">Run Guess Num Function</button>
</body>
<script>
  var ranNum;
  var userGuess;

  function genNum() {
      ranNum = Math.floor(Math.random() * 101);
      document.getElementById("demo").innerHTML = ranNum;
  }

  function setOutputNum() {
      var x = document.getElementById("form1");
      userGuess = x.elements["userGuess"].value;
      // Set userGuess to number instead of string
      userGuess = +userGuess
  }

  function compareGuessToNum() {
      if (ranNum === userGuess) {
          alert("You are 70");
      } else if (ranNum < userGuess) {
          alert("Less than 70");
      } else {
          alert("More than 70");
      }
  }
</script>
</html>

台阶
  • 单击“随机数”
  • 输入您的猜测,然后单击提交
  • 单击RunGuess Num函数查看您的距离 随机数

    猜测: 提交 运行Guess Num函数 兰努姆变种; var-userGuess; 函数genNum(){ ranNum=Math.floor(Math.random()*101); document.getElementById(“demo”).innerHTML=ranNum; } 函数setOutputNum(){ var x=document.getElementById(“form1”); userGuess=x.elements[“userGuess”].value; //将userGuess设置为数字而不是字符串 userGuess=+userGuess } 函数compareGuessToNum(){ if(ranNum==userGuess){ 警惕(“你70岁”); }else if(ranNum
  • 进一步阅读
    对范围有一个很好的解释。

    我没有调试,但您可以这样做:不要忘记选择答案!:-)
    <!DOCTYPE html>
    <html>
    <head>
      <meta charset="UTF-8">
      <title></title>
    </head>
    <body>
    <h1>Steps</h1>
      <ol>
        <li>Click Random Number.</li>
        <li>Enter your guess then click Submit.</li>
        <li>Click Run Guess Num Function to see how close you got!</li>
      </ol>
      <button onclick="genNum()">Random Number</button>
      <p id="demo"></p>
      <form id="form1">
         Guess:<input name="userGuess" type="number" size="20">
      </form>
      <button onclick="setOutputNum()">Submit</button>
      <button onclick="compareGuessToNum()">Run Guess Num Function</button>
    </body>
    <script>
      var ranNum;
      var userGuess;
    
      function genNum() {
          ranNum = Math.floor(Math.random() * 101);
          document.getElementById("demo").innerHTML = ranNum;
      }
    
      function setOutputNum() {
          var x = document.getElementById("form1");
          userGuess = x.elements["userGuess"].value;
          // Set userGuess to number instead of string
          userGuess = +userGuess
      }
    
      function compareGuessToNum() {
          if (ranNum === userGuess) {
              alert("You are 70");
          } else if (ranNum < userGuess) {
              alert("Less than 70");
          } else {
              alert("More than 70");
          }
      }
    </script>
    </html>