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

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) 出来结果不一致。

正在回答

2 回答

/*

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)//执行

}


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

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

undefined是未定义的意思

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

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

HYDMonster 提问者

为啥在上面的代码if(info==null)是有问题的
2018-11-21 回复 有任何疑惑可以回复我~
#2

酷睿N核 回复 HYDMonster 提问者

因为未输入密码时,document.getElementById("password").value 获取的是一个空字符串,而不是 null 。
2019-02-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468047    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

null 和undefined和非的区别

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