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()
,以使用==
正确比较,或者改用==
。