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

返回既符合null 又符合>=0是怎么回事

操作过程:弹出输入框的时候什么都不写(也就是留空白),然后点击确定(不是取消不让他返回null)。

输出结果:else if(score>=0&&score!=null)里的输出语句和else(score==null)里的输出语句都直接输出,就是说这种情况是怎么回事,是我的选择结构不够严谨吗?还有如何避免她呢?毕竟真实用户在操作的时候是完全可以存在这种操作的的,如果输出结果这么奇葩那不是凉凉。

提问者:庸人2333 2019-02-19 20:31

个回答

  • pyh_1301
    2019-02-20 14:36:16

    我是这样解决的,你看看

    <!DOCTYPE HTML>

    <html>

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>confirm</title>

      <script type="text/javascript">

      function rec(){

         var score=prompt("你的分数为:") ;

        if(score==null||score=="")

        {

        alert("分数为空,请重新输入!");

          return;

        }

         else if (score>=90)

        {

            document.write("优秀!");

        }

        else if(score>=60 && score<=90)

        {

          document.write("良好");

        }

        else if(score<60)

        {

          document.write("要加油啊");

        }

      }    

      </script>

    </head>

    <body>

        <input name="button" type="button" onClick="rec()" value="点击我,弹出确认对话框" />

    </body>

    </html>