我是一个初学者,不了解我的代码是如何工作的(javascript)

时间:2018-12-20 20:55:05

标签: javascript

我希望用户猜测那里有多少根手指(Math.random()),但是它无法按我期望的方式工作,而且我也找不到错误。

这全部在<body>标记中:

<p>How many fingers am I holding?</p>
<input type="number" id="userInput">
<button onclick="check()">Guess</button>
<p id="numberOfTries"></p>
   
<script>
    var fingers = parseInt(Math.random()*6);
    var userInput = document.getElementById("userInput").value;
    var i = 0;
    var num = document.getElementById("numberOfTries");
    function check(){
    
    if (userInput == fingers)
    {
        alert("You got it!");
    }
    else{
        alert("Try again!");
        i++;
    }
   num.innerHTML = "Number of tries: " + i;
   }
    
</script>

所以,我的观察方式是:页面加载时会创建一个随机数(手指),然后我将该数字与输入中的数字进行比较。 为什么不起作用?

1 个答案:

答案 0 :(得分:3)

您只有一个小错误。您只检查了一次输入。看到我移到了功能范围,现在可以使用了。

'0'+x
var fingers = parseInt(Math.random() * 6);
console.log(fingers);

var i = 0;
var num = document.getElementById("numberOfTries");

function check() {
  // This was in the wrong place. We need to check user input each time.
  var userInput = document.getElementById("userInput").value;
  if (userInput == fingers) {
    alert("You got it!");
  } else {
    alert("Try again!");
    i++;
  }
  num.innerHTML = "Number of tries: " + i;
}