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

当返回值为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("请输入你的成绩");
	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("未录入成绩");
    }
  }
  </script>
</head>
<body>
    <input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" />
</body>
</html>

原本代码是 点击取消后,显示的是“要努力了”;我想对直接点击取消的和未录入时点击确定的都有个不同显示,做的尝试如上。

最后一个else if,不管我写成score=null还是score="null"都没有用,显示的还是“要努力了”,请问正确的该怎样写?

如果是将直接点击取消和未录入时点击确定这两种情况分开,各自应该怎么写?

拜托赐教!

正在回答

2 回答

prompt() 方法用于显示可提示用户进行输入的对话框。

如果用户单击提示框的取消按钮,则返回 null。如果用户单击确认按钮,则返回输入字段当前显示的文本。

在用户点击确定按钮或取消按钮把对话框关闭之前,它将阻止用户对浏览器的所有输入。在调用 prompt() 时,将暂停对 JavaScript 代码的执行,在用户作出响应之前,不会执行下一条语句。

那么这里要确认是否score为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("请输入你的成绩");
            if(score==null||score==""){
                document.write("未录入成绩");
            }else {
                if (score >= 90) {
                    document.write("你很棒!");
                }
                else if (score >= 75) {
                    document.write("不错吆!");
                }
                else if (score >= 60) {
                    document.write("要加油!");
                }
                else {
                    document.write("要努力了!");
                }
            }
        }
    </script>
</head>
<body>
<input name="button" type="button" onClick="rec()" value="点击我,对成绩做评价!" />
</body>
</html


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

星风飞行 提问者

非常感谢!解释的很到位,感谢!
2015-10-26 回复 有任何疑惑可以回复我~
#2

luona

score==null||score==""不都是表示的是空的么?为什么要写两个南?
2015-11-01 回复 有任何疑惑可以回复我~
#3

Perona 回复 luona

不是哦,如果按取消按钮是返回null,但是没有输入东西按确定按钮返回的是“”。这是不一样滴~~~
2015-11-01 回复 有任何疑惑可以回复我~
#4

luona 回复 Perona

原来是这样的啊,你研究的好高深的啊
2015-11-01 回复 有任何疑惑可以回复我~
#5

Perona 回复 luona

其实第二行我已经说了呀。罗娜妹子,今天没出去玩哈?
2015-11-01 回复 有任何疑惑可以回复我~
#6

luona 回复 Perona

我还真的没有仔细看的清楚, window.open("http://www.imooc.com","_blank",'width=400,height=500,menubar=no,toolbar=no'); 从宽度那里慕课是是单引号,而前面的是双引号,这个是有区别的么?还是单的和双引号都是一样的啊 这里面
2015-11-01 回复 有任何疑惑可以回复我~
#7

Perona 回复 luona

JS中,单双引号区别不大,注意嵌套转义就好了,参考wiki。个人比较喜欢用单引号,因为JS解释器还是会把双引号解释成单引号。
2015-11-01 回复 有任何疑惑可以回复我~
#8

luona 回复 Perona

可是,你一直都不回我,我还以为你一直都不在线上南。。。。至少你也要回我的啊,因为,我接触到那么的人,我还是觉得你厉害呀。。。
2015-11-02 回复 有任何疑惑可以回复我~
#9

Perona 回复 luona

[害羞]妹子过奖了哈~~~好哒,以后一定会回你信息~~~不是吧,我有时候看群里的人吹得都挺厉害的呀~~~都是大神的赶脚呀~~~
2015-11-02 回复 有任何疑惑可以回复我~
#10

luona 回复 Perona

哎呦,没你照,都是渣渣,还是你厉害点。
2015-11-02 回复 有任何疑惑可以回复我~
查看9条回复

感觉像是判断的先后问题

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

举报

0/150
提交
取消
JavaScript入门篇
  • 参与学习       739959    人
  • 解答问题       9566    个

JavaScript做为一名Web工程师的必备技术,本教程让您快速入门

进入课程

当返回值为null时怎么写?

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