我被html / javascript网页

时间:2018-05-19 08:20:54

标签: javascript html

我正在尝试解决问题而且我引述: “需要创建一个游戏,其中用户试图猜测1到100之间的随机整数。在猜测时,游戏将告诉用户他们是否需要更高或更低。如果用户猜出数字,游戏会告诉他们他们是对的,并且花了多少次尝试“

我试图通过一个提示询问猜测的网页尝试这个,然后判断循环是否相同,高于或低于随机数。然而!我有提示出现,但无论什么号码,它总是说数字正确!请帮忙!

这是我的html:

<!DOCTYPE html>
<html lang="en">
<script src="Assignment%20Task%202.js"></script>
<body>
PLAY THE GUESSING GAME:
Guess a number between 0 and 1000!
</body>
<br>
<button onclick= "Guessing_game()" >play</button>
<br>
<p>
    You have guessed this many times:
</p>
<p id="num_guesses"></p>
</html>

这是我的javascript:

var number = Math.floor(Math.random() * 1000) + 1;
var num_guesses = 1;
function Guessing_game() {
    var guess;
    guess = prompt("what is your guess?");
    if (guess = number) {
        alert("Good Job! You got the number correct!");
    }
    if (guess < number) {
        num_guesses = +1;
        alert("Bad luck! You need to guess lower");
    }
    if (guess > number) {
        num_guesses = +1;
        alert("Bad luck! You need to guess higher");
    }
    document.getElementById("num_guesses").innerHTML = num_guesses;
}

3 个答案:

答案 0 :(得分:1)

问题在于您的if (guess = number)代码行。

使用guess = number在此处为猜测变量指定数字。如果您想检查猜是否等于数字,请在if条件中使用guess==number,如:

if (guess == number)

有关详情,请阅读here

答案 1 :(得分:0)

=是赋值运算符。

例如var a = "foo";

==用于值比较。

例如

if(a == "foo") {
  // Do something if above condition is true
 }

===是严格的比较,这意味着价值和类型应该相同。

答案 2 :(得分:0)

正如其他人所指出的那样,在javascript(以及许多其他语言)中:

  • =是赋值运算符

但最好使用的操作符(特别是在javascript中)是 不是 ==

  • ==表示两个值等效

相反,最好使用的运算符是===

  • ===表示两个值相同

在这种情况下,理想情况下,这应该是您在脚本中应该使用的内容:

if (guess === number) {

[... CODE HERE...]

}