JavaScript提示框的值是正确的,但它没有执行操作

JavaScript提示框的值是正确的,但它没有执行操作,javascript,html,Javascript,Html,我已经创建了一个按钮,创建了一个简单的随机数学问题,用户必须解决它才能继续。但是,即使我键入了正确的值,它也没有执行指定的操作。为了澄清这一点,我附上了一段可运行的代码片段: function of function(){ var num1=Math.floor(Math.random()*20); var num2=Math.floor(Math.random()*10); var userAns=prompt(“请解决这个简单的问题,以便知道您不是机器人:“+num1+”+“+num2”)

我已经创建了一个按钮,创建了一个简单的随机数学问题,用户必须解决它才能继续。但是,即使我键入了正确的值,它也没有执行指定的操作。为了澄清这一点,我附上了一段可运行的代码片段:

function of function(){
var num1=Math.floor(Math.random()*20);
var num2=Math.floor(Math.random()*10);
var userAns=prompt(“请解决这个简单的问题,以便知道您不是机器人:“+num1+”+“+num2”);
if(userAns==num1+num2){
警惕(“你的答案是正确的。”);
}else if(userAns==null | | userAns===“”){
警惕(“请键入某事”);
}否则{
警报(num1+num2);
}
}

单击此处
提示符
返回的用户输入是一个字符串。如果要将其与数字进行比较,则必须转换其中一个:

function of function(){
var num1=Math.floor(Math.random()*20);
var num2=Math.floor(Math.random()*10);
var userAns=prompt(“请解决这个简单的问题,以便知道您不是机器人:“+num1+”+“+num2”);
如果(userAns==String(num1+num2)){//Here!
警惕(“你的答案是正确的。”);
}else if(userAns==null | | userAns===“”){
警惕(“请键入某事”);
}否则{
警报(num1+num2);
}
}

单击此处
提示符
返回的用户输入是一个字符串。如果要将其与数字进行比较,则必须转换其中一个:

function of function(){
var num1=Math.floor(Math.random()*20);
var num2=Math.floor(Math.random()*10);
var userAns=prompt(“请解决这个简单的问题,以便知道您不是机器人:“+num1+”+“+num2”);
如果(userAns==String(num1+num2)){//Here!
警惕(“你的答案是正确的。”);
}else if(userAns==null | | userAns===“”){
警惕(“请键入某事”);
}否则{
警报(num1+num2);
}
}

单击此处
您需要将
num1+num2
转换为字符串,或者将提示解析为整数,如下代码所示:

function of function(){
var num1=Math.floor(Math.random()*20);
var num2=Math.floor(Math.random()*10);
var userAns=prompt(“请解决这个简单的问题,以便知道您不是机器人:“+num1+”+“+num2”);
if(parseInt(userAns)==num1+num2){
警惕(“你的答案是正确的。”);
}else if(userAns==null | | userAns===“”){
警惕(“请键入某事”);
}否则{
警报(`正确答案是:${num1+num2}`);
}
}

单击此处
您需要将
num1+num2
转换为字符串,或者将提示解析为整数,如下代码所示:

function of function(){
var num1=Math.floor(Math.random()*20);
var num2=Math.floor(Math.random()*10);
var userAns=prompt(“请解决这个简单的问题,以便知道您不是机器人:“+num1+”+“+num2”);
if(parseInt(userAns)==num1+num2){
警惕(“你的答案是正确的。”);
}else if(userAns==null | | userAns===“”){
警惕(“请键入某事”);
}否则{
警报(`正确答案是:${num1+num2}`);
}
}

点击此处
“如果(userAns==num1+num2)”将此代码更新为“如果(userAns==(num1+num2)),您可以正确验证它。

“如果(userAns==num1+num2)”将此代码更新为“如果(userAns==(num1+num2))”您可以正确地验证它。

默认情况下,提示会在字符串中获取值,因此您可以简单地添加+prompt,它将正常工作+prompt将字符串转换为数字,因此,如果您执行任何等式,它将正常工作 看看这个

function of function(){
var num1=Math.floor(Math.random()*20);
var num2=Math.floor(Math.random()*10);
var userAns=+prompt(“请解决这个简单的问题,以便知道您不是机器人:“+num1+”+“+num2”);
if(userAns==num1+num2){
警惕(“你的答案是正确的。”);
}else if(userAns==null | | userAns===“”){
警惕(“请键入某事”);
}否则{
警报(num1+num2);
}
}

单击此处
默认情况下,提示会在字符串中获取值,因此您可以简单地添加+prompt,它将正常工作+prompt将字符串转换为数字,这样,如果您执行任何等式,它都会正常工作 看看这个

function of function(){
var num1=Math.floor(Math.random()*20);
var num2=Math.floor(Math.random()*10);
var userAns=+prompt(“请解决这个简单的问题,以便知道您不是机器人:“+num1+”+“+num2”);
if(userAns==num1+num2){
警惕(“你的答案是正确的。”);
}else if(userAns==null | | userAns===“”){
警惕(“请键入某事”);
}否则{
警报(num1+num2);
}
}

单击此处
userAns
是一个字符串,
num1+num2
是一个数字
==
对于不同的类型永远不会为真。
userAns
将是一个字符串,在跨数据类型进行比较时,通过严格的类型检查(
==
)进行的相等性比较将永远不会返回
true
。在输入值上使用
parseInt()
,使用
==
正确比较,或者改用
=
userAns
是字符串,
num1+num2
是数字
==
对于不同的类型永远不会为真。
userAns
将是一个字符串,在跨数据类型进行比较时,通过严格的类型检查(
==
)进行的相等性比较将永远不会返回
true
。在输入值上使用
parseInt()
,以使用
==
正确比较,或者改用
==