采用1到10之间的随机整数,然后提示用户输入猜测编号

时间:2017-09-15 05:25:19

标签: javascript input

我正在做Javascript练习。这是一个问题:编写一个JavaScript程序,程序采用1到10之间的随机整数,然后提示用户输入猜测编号。如果用户输入与猜测编号匹配,程序将显示消息“Good Work”,否则显示消息“Not matched”

我有这段代码,但我不知道如何获取输入并显示答案。

function check() {
    var x = Math.floor((Math.random() * 10) + 1);
    var i = document.getElementById('inputFiled').value;
 
    if (i === x) {
      return "Good Work";
    }else {
       return "Not matched";
    }
   
}
<input id="inputFiled" type=text /><input type="submit" value="Submit">
<p id="random"></p>
 

7 个答案:

答案 0 :(得分:1)

您当前的版本不会按原样运行,因为i是一个字符串,而x是一个整数。您需要使用==代替===,以便除了价值之外不会比较他们的类型。

或者,当您使用i对其进行签名时,您可以将var i = parseInt(document.getElementById('inputFiled').value);转换为整数,但如果您使用抽象比较运算符(==),JavaScript将免费执行此操作。

function check() {
    var x = Math.floor((Math.random() * 10) + 1);
    var i = document.getElementById('inputFiled').value;
    var feedback = document.getElementById('feedback');
 
    if (i == x) {
        feedback.innerHTML = 'Good Work';
    } else {
        feedback.innerHTML = 'Not matched';
    }
   
}
<input id="inputFiled" type=text />
<input type="button" onclick="check()" value="check" />
<p id="random"></p>
<div id="feedback"></div>
 

答案 1 :(得分:0)

尝试以check方式调用button功能点击并在p标记上打印消息

function check() {
  var x = Math.floor((Math.random() * 10) + 1);
  var i = document.getElementById('inputFiled').value;

  if (i === x) {
    document.getElementById('random').innerHTML = "Good Work";
  } else {
    document.getElementById('random').innerHTML = "Not matched";
  }
}
<input id="inputFiled" type=text />
<input type="button" value="Submit" onclick="check()">
<p id="random"></p>

答案 2 :(得分:0)

你可以做这样的事情;

function check() {
    var x = Math.floor((Math.random() * 10) + 1);
    var i = document.getElementById('inputFiled').value;
 
    if (i === x) {
      document.getElementById('random').innerHTML= "Good Work";
    }else {
      document.getElementById('random').innerHTML= "Not matched";
    }
   
}
<input id="inputFiled" type=text /><input type="button" value="Submit" onclick="check()">
<p id="random"></p>
 

答案 3 :(得分:0)

在函数外部声明x,因为每次提交数字时,都会创建一个新的随机数。因此,首先生成一个随机数,然后比较它是否正确的数字。

 var x = Math.floor((Math.random() * 10) + 1);
function check() {
    var i = document.getElementById('inputFiled').value;
    if (i == x) {
      document.getElementById("random").innerHTML = "Nice Guess";
    }else {
      document.getElementById("random").innerHTML = "Wrong answer.. Try again";
    }
   
}
<input id="inputFiled" type=text /><input type="submit" value="Submit" onclick="check()">
<p id="random"></p>
 
尝试从1-10输入,你就会知道差异..

答案 4 :(得分:0)

function check() {
    var x = Math.floor((Math.random() * 10) + 1);
    var i = document.getElementById('inputFiled').value;
               if (i === x) {
        alert( "Good Work");
        document.getElementById('random').innerHTML = x + "=" + i;
        }else 
          {alert("Not matched");
         document.getElementById('random').innerHTML = x + "<>" + i;
    }              
        }

<input id="inputFiled" type=text />
<input type="submit" value="Submit" onclick="return check();"/>
<p id="random"></p>

答案 5 :(得分:0)

这是修改后的脚本。希望你能从中获得更多帮助。

 <input id="inputFiled" type=text /><input type="button" onclick="check()" value="Submit">
<p id="random"></p>

<script>
function check() {

    var x = Math.floor((Math.random() * 10));
    var i = document.getElementById('inputFiled').value;
    if (parseInt(i) === parseInt(x)) {
      alert("Good Work");
    }else {
       alert("Not matched");
    }

}
</script>

当随机数与用户输入数匹配时,它将返回“良好工作”。

答案 6 :(得分:0)

&#13;
&#13;
function onClick() {
    var randomNum = Math.floor((Math.random() * 10) + 1),
        inputValue = document.querySelector('input.test').value;

    if (inputValue != "") {
        console.log(randomNum == inputValue ? 'Good Work' : 'Not matched')
    } else {
        alert('Enter any any number');
    }
}
&#13;
<input class="test" type=text />
<input type="button" value="click" onclick="onClick()"/>
&#13;
&#13;
&#13;