问答详情
源自:6-3 鼠标经过事件(onmouseover)

null 和undefined和非的区别

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> 鼠标经过事件 </title>
<script type="text/javascript">
    function message(){
            var info=document.getElementById("psw").value;
                    if(!info){
                          confirm("请输入密码后,再单击确定!");        
                    }        
                    else{ confirm("yes"); }
       }
</script>
</head>
<body>
    <form>
        密码:<input name="password" type="password" id="psw" >
        <input name="确定" type="button" value="确定" onmouseover="message()"/>
    </form>
 </body>
 </html>

为什么我在if(!info)和if(info=="undefined")和if(info==null) 出来结果不一致。

提问者:HYDMonster 2018-11-15 17:22

个回答

  • 我是一片水中的沸腾鱼
    2018-12-14 10:47:02
    已采纳

    /*

    1:数据类型层面

    undefined是一个undefined数据类型

    null:它是object数据类型

    2:内存分配层面

    undefined:如果是一个变量没有赋值操作就是undefined;

    null:代表的是对象默认值

    3:运算中

    */

    var n1 = 1 + undefined;

    alert(n1);//NaN

    var n2 = 1 + null;

    alert(n2);//1

    var n3;

    alert(n3)//undefined

    if(n3 == null){

    alert(33)//执行

    }


  • luosu368663577725
    2018-11-15 19:33:44

    如果info是0,则!info是1,如果info是非零的数,则!info是0

    undefined是未定义的意思

    null是空,没有内容,未赋值的意思