为了账号安全,请及时绑定邮箱和手机立即绑定

为什么null时没有返回结果?

<!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返回没有填写数字为什么不起作用呢?不管点取消还是确定都是要努力了!

正在回答

3 回答

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 回复 有任何疑惑可以回复我~
#1

李若贤

写错了,应该是!=的!
2018-01-29 回复 有任何疑惑可以回复我~
#2

李若贤

没有删除功能吗?
2018-01-29 回复 有任何疑惑可以回复我~
#3

鹿屿 提问者

非常感谢!
2018-01-29 回复 有任何疑惑可以回复我~
#4

得闲就敲 回复 李若贤

哪里错了?
2018-11-28 回复 有任何疑惑可以回复我~
查看1条回复

因为""、0和false都为“假值”,他们之间是可以互等的。所以在执行到第22行代码的时候,如果输入""值,判断结果是为true的。再看第26行代码,null称为“空值”,“假值”和“空值”之间是不可以互等的,即返回结果为false。你可以试试将这几个值在if语句中用==操作符进行比较,观察返回结果,就会更加深刻的理解这个问题了。

2 回复 有任何疑惑可以回复我~

加上双引号就好了哦 ,因为是字符串哦

0 回复 有任何疑惑可以回复我~
#1

李若贤

这里的null并不是字符串。
2018-01-29 回复 有任何疑惑可以回复我~
#2

慕运维1354583

你讲的有道理
2018-01-29 回复 有任何疑惑可以回复我~
#3

鹿屿 提问者 回复 李若贤

那应该怎么办?
2018-01-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么null时没有返回结果?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信