我是JavaScript的新手。这是我开始实际学习JavaScript的第二天。我不知道问这个问题是否合适,因为有太多的指导方针和标准需要遵循。
好吧,这是我写的一个小脚本,它不工作。当为value < 5 && value > 5时,它会显示警报。但是当有人给出答案5(这是正确的答案)时。它没有显示任何警报吗?我试着解决这个问题,但是我不能解决这个问题。下面是我的代码:
<script type="text/javascript">
var number = prompt("count these numbers: 2+5-10+8=?");
if( number === 5 ) {
alert( "Congratulations Your Answer is Correct" );
}
else if ( number > 5 ) {
alert( "Your answer is a little higher." );
}
else if ( number < 5 ) {
alert( "Your answer is little lower than actual answer." );
}
</script>发布于 2012-05-28 07:48:41
提示返回一个字符串,但您正在对一个数字执行严格相等的测试。
你可以...
使用
number === "5"、==代替===,这将为您执行转换,使用number = parseInt(number, 10)number = parseFloat(number)发布于 2012-05-28 07:49:21
我建议:
var number = parseInt(prompt("count these numbers: 2+5-10+8=?"),10);发布于 2012-05-28 07:56:17
当您执行“===”比较时,它将检查类型是否完全匹配,在本例中,您将检查数字5是否等于字符串5(或他们输入的任何其他值),这是假的。
您需要将答案解析为整数,正如David Thomas已经建议的那样:
var number = parseInt(prompt("count these numbers: 2+5-10+8=?"));https://stackoverflow.com/questions/10778056
复制相似问题