点取消的返回值不是Null么 那我在中间加一段
else if(score==null){
document.write("取消");
}
的代码 为什么点了取消后还是输出的 ”你要努力“ 而不是 ”取消“ 呢?
<!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("请输入你的分数:") ; if(score>=90) { document.write("你很棒!"); } else if(score>=75) { document.write("不错吆!"); } else if(score>=60) { document.write("要加油!"); } else if(score<60) { document.write("要努力了!"); } else if(score==null){ document.write("取消"); } else{ document.write("error"); } } </script> </head> <body> <input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" /> </body> </html>
你的代码错了,或者说不完整。这样写点击取消才会返回null并输出 else if(score==null){} 内的内容:
<script type="text/javascript">
function rec(){
var score; //score变量,用来存储用户输入的成绩值。
score = prompt("请输入你的分数:") ;
if(score>=90&&score!=null)
{
document.write("你很棒!");
}
else if(score>=75&&score!=null)
{
document.write("不错吆!");
}
else if(score>=60&&score!=null)
{
document.write("要加油!");
}
else if(score<60&&score!=null)
{
document.write("要努力了!");
}
else if(score==null){
document.write("取消");
}
else{
document.write("error");
}
}
</script>
涉及了null当作判断值得时候转换的问题,它把null转换为“0"再判断了,所以要把else if(score<60 改为elsei f(score<60&&score>0||score==="0")就可以把输出“取消”的判定null移到最后了
在一般的语言中 一个“=” 表示赋值 即 把等号右边的值 赋给 左边的变量 两个“==” 才是我们平时认为的 即 等号左右两边相等 在逻辑判断中 == >= <= != && || 是常用 而且需要记住的写法
不是。。你赋值的方法是错的。判断score=NULL;应该用score==NULL;