<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>prompt</title> <script type="text/javascript"> function rec(){ var score; //score变量,用来存储用户输入的成绩值。 score = prompt("请输入您的成绩:","这里输入0-100以内的数字哦!"); if(score>=90) { document.write("你很棒!"); } else if(score>=75) { document.write("不错吆!"); } else if(score>=60) { document.write("要加油!"); } else if(score<=59) { document.write("要努力了!"); } else if(score==null) { document.write("您没有输入成绩!请重新输入!"); } } </script> </head> <body> <input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" /> </body> </html>
如果等于null返回没有填写数字为什么不起作用呢?不管点取消还是确定都是要努力了!
if ("" == score) {
if(score>=90)
{
document.write("你很棒!");
}
else if(score>=75)
{
document.write("不错吆!");
}
else if(score>=60)
{
document.write("要加油!");
}
else if(score<=59)
{
document.write("要努力了!");
}
} else {
document.write("您没有输入成绩!请重新输入!");
}
因为""、0和false都为“假值”,他们之间是可以互等的。所以在执行到第22行代码的时候,如果输入""值,判断结果是为true的。再看第26行代码,null称为“空值”,“假值”和“空值”之间是不可以互等的,即返回结果为false。你可以试试将这几个值在if语句中用==操作符进行比较,观察返回结果,就会更加深刻的理解这个问题了。
加上双引号就好了哦 ,因为是字符串哦