我正在尝试解决问题而且我引述: “需要创建一个游戏,其中用户试图猜测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;
}
答案 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...]
}