Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:为什么赢了';我的价值观不相等吗? var检查=true; var number=Math.floor(Math.random()*20); while(检查===true){ var guess=prompt(“我选了一个0到20的数字,试着猜一下!”); 如果(数字===猜测){ 打印(“你猜对了!干得好!”); 检查=错误; } else if(数字猜测){ 打印(“\n\n您猜得太低了!”); } 否则{ 打印(“\n\Error.您没有键入有效的数字”); 退出(); } 打印(“\n\Guess:+Guess+”); }_Javascript - Fatal编程技术网

Javascript:为什么赢了';我的价值观不相等吗? var检查=true; var number=Math.floor(Math.random()*20); while(检查===true){ var guess=prompt(“我选了一个0到20的数字,试着猜一下!”); 如果(数字===猜测){ 打印(“你猜对了!干得好!”); 检查=错误; } else if(数字猜测){ 打印(“\n\n您猜得太低了!”); } 否则{ 打印(“\n\Error.您没有键入有效的数字”); 退出(); } 打印(“\n\Guess:+Guess+”); }

Javascript:为什么赢了';我的价值观不相等吗? var检查=true; var number=Math.floor(Math.random()*20); while(检查===true){ var guess=prompt(“我选了一个0到20的数字,试着猜一下!”); 如果(数字===猜测){ 打印(“你猜对了!干得好!”); 检查=错误; } else if(数字猜测){ 打印(“\n\n您猜得太低了!”); } 否则{ 打印(“\n\Error.您没有键入有效的数字”); 退出(); } 打印(“\n\Guess:+Guess+”); },javascript,Javascript,当我试着运行这个程序时,我得到了正确的答案,但它不起作用!即使随机生成的数字是13,我猜是13,它也会通过,它会说它是无效的。您正在比较提示符的返回值(一个字符串)和数学地板的返回值(一个数字) 因为您使用的是==,并且它们是不同的数据类型,所以您永远不会得到匹配 使用=或将数字显式转换为字符串,反之亦然 var check = true; var number = Math.floor(Math.random() * 20); while (check === true){ var gues

当我试着运行这个程序时,我得到了正确的答案,但它不起作用!即使随机生成的数字是13,我猜是13,它也会通过,它会说它是无效的。

您正在比较
提示符的返回值(一个字符串)和
数学地板的返回值(一个数字)

因为您使用的是
==
,并且它们是不同的数据类型,所以您永远不会得到匹配

使用
=
或将数字显式转换为字符串,反之亦然

var check = true;
var number = Math.floor(Math.random() * 20);

while (check === true){
var guess = prompt("I picked a number 0 to 20, try to guess it!");
if (number === guess) {
    print("You guessed correctly! Good job!"); 
    check = false;
}
else if (number < guess) {
    print("\n\You guessed too high!"); 
}
else if (number > guess) {
    print("\n\You guessed too low!"); 
}
else {
    print("\n\Error. You did not type a valid number");
    exit(); 
}
    print("\n\Guess: " + guess + ".");
}  

您正在比较
prompt
(一个字符串)的返回值与
Math.floor
(一个数字)的返回值

因为您使用的是
==
,并且它们是不同的数据类型,所以您永远不会得到匹配

使用
=
或将数字显式转换为字符串,反之亦然

var check = true;
var number = Math.floor(Math.random() * 20);

while (check === true){
var guess = prompt("I picked a number 0 to 20, try to guess it!");
if (number === guess) {
    print("You guessed correctly! Good job!"); 
    check = false;
}
else if (number < guess) {
    print("\n\You guessed too high!"); 
}
else if (number > guess) {
    print("\n\You guessed too low!"); 
}
else {
    print("\n\Error. You did not type a valid number");
    exit(); 
}
    print("\n\Guess: " + guess + ".");
}  

你的猜测是一串。它是用户输入的文本,您需要将其转换为数字,以便能够将其与您的猜测进行比较,所以请替换

number === +guess

如果格式不正确,这会将用户的猜测转换为数字或特殊值NaN


您还可以使用==运算符,它将在类型之间自动转换。如果您不熟悉javascript,我建议您不要使用该操作符,因为它可能会有一些令人困惑和意外的行为

你的猜测是一串。它是用户输入的文本,您需要将其转换为数字,以便能够将其与您的猜测进行比较,所以请替换

number === +guess

如果格式不正确,这会将用户的猜测转换为数字或特殊值NaN


您还可以使用==运算符,它将在类型之间自动转换。如果您不熟悉javascript,我建议您不要使用该操作符,因为它可能会有一些令人困惑和意外的行为

您正在使用triple=运算符,它也会检查类型的相等性。将提示值(您的
guess
变量)与
number
变量进行比较时。您正在比较
字符串
数字
。要使这项工作顺利进行,您可以使用

number==guess


Number(guess)

您正在使用triple=运算符,它也会检查类型是否相等。将提示值(您的
guess
变量)与
number
变量进行比较时。您正在比较
字符串
数字
。要使这项工作顺利进行,您可以使用

number==guess


Number(guess)

您使用的是严格相等比较,它还比较类型。
提示符
返回字符串值。使用
parseInt
转换为数字

var guess = Number(prompt("I picked a number 0 to 20, try to guess it!");
第二个参数表示基数(10表示十进制,16表示十六进制,等等)。在非严格模式(又称sloppy模式)下,当解析前导为零的字符串时,可能会遇到意外转换为八进制(以8为基数)。始终指定基准以避免出现这种情况


您可能需要。

您使用的是严格相等比较,它也比较类型。
提示符
返回字符串值。使用
parseInt
转换为数字

var guess = Number(prompt("I picked a number 0 to 20, try to guess it!");
第二个参数表示基数(10表示十进制,16表示十六进制,等等)。在非严格模式(又称sloppy模式)下,当解析前导为零的字符串时,可能会遇到意外转换为八进制(以8为基数)。始终指定基准以避免出现这种情况


您可能需要。

==是严格键入的,因此它不会将int与字符串进行比较

将猜测转换为整数。您应该首先验证它,以防用户输入的不是int

var guess = prompt("I picked a number 0 to 20, try to guess it!");
guess = parseInt(guess, 10);

==是严格键入的,因此它不会将int与字符串进行比较

将猜测转换为整数。您应该首先验证它,以防用户输入的不是int

var guess = prompt("I picked a number 0 to 20, try to guess it!");
guess = parseInt(guess, 10);

print
exit()
?我以前见过这些方法。我不记得它的名字了,在一所高中,他们为javascript设置了一个超级简单的运行时环境,因此学习者不必处理浏览器或节点的复杂环境。js。我使用print命令,因为我使用的网站使用print而不是console。log
print
exit()
?我以前见过这些方法。不记得它的名字了,在一所高中,他们为javascript设置了一个超级简单的运行时环境,这样学习者就不必处理浏览器或节点的复杂环境。js。我使用print命令,因为我使用的网站使用print而不是console.logShorthand表示
Number(someValue)
+someValue
,它被称为This is true。然而,在我看来,它的可读性较差。编辑:没有javascript经验的人可读性较差。
Number(someValue)
的缩写是
+someValue
,称为“这是真的”。然而,在我看来,它的可读性较差。编辑:没有javascript经验的人可读性较差。请使用数字(猜测),因为建议使用==。请使用数字(猜测)因为===是建议使用的。我认为有两点可以改进你的答案:1)提及
+
是什么2)在分配给
猜测时,可能比在严格的相等测试中使用时更谨慎地使用值。一对