关于取消null的问题

来源:2-4 JavaScript-提问(prompt 消息对话框)

pomelo9240

2016-03-29 23:47

点取消的返回值不是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>


写回答 关注

4回答

  • 策神
    2016-03-30 10:04:55
    已采纳

    你的代码错了,或者说不完整。这样写点击取消才会返回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>

    pomelo...

    非常感谢!

    2016-03-30 19:55:54

    共 7 条回复 >

  • 璎珞绘梨衣
    2016-03-30 10:46:27

    涉及了null当作判断值得时候转换的问题,它把null转换为“0"再判断了,所以要把else if(score<60 改为elsei f(score<60&&score>0||score==="0")就可以把输出“取消”的判定null移到最后了


    jazia

    为什么这里是score==="0",要三个=

    2016-04-25 15:44:52

    共 1 条回复 >

  • 沐风而行
    2016-03-30 00:26:40

    在一般的语言中 一个“=” 表示赋值   即 把等号右边的值 赋给 左边的变量   两个“==”  才是我们平时认为的 即 等号左右两边相等    在逻辑判断中  ==  >=  <= != &&  ||  是常用 而且需要记住的写法 

    pomelo...

    确实是赋值出现了问题 不过就算把"=="改过来了点击取消后还是没有输出我想要的“取消”文本..请问要怎么样编写代码才能实现点“取消”后也让它输出指定文本呢..

    2016-03-30 08:42:11

    共 1 条回复 >

  • ZPB
    2016-03-30 00:23:54

    不是。。你赋值的方法是错的。判断score=NULL;应该用score==NULL;

    pomelo...

    谢谢 我已经意识到了这个问题 不过我还是没有做出来想要的结果..怎么才能实现点击“取消”后输出指定文本呢 else if(socore==null)好像并不好用..

    2016-03-30 08:46:20

    共 1 条回复 >

JavaScript入门篇

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

739817 学习 · 9566 问题

查看课程

相似问题