问答详情
源自:2-4 JavaScript-提问(prompt 消息对话框)

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

提问者:鹿屿 2018-01-29 15:25

个回答

  • 李若贤
    2018-01-29 16:16:34
    已采纳

    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("您没有输入成绩!请重新输入!");

    }


  • 李若贤
    2018-01-29 16:00:51

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

  • 慕运维1354583
    2018-01-29 15:44:31

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