null 和{}的那点事

直接上代码

console.log(typeof null);    //object
console.log(typeof {});    //object

可以看到两者的类型都是object ,写在前面的事;

一直很困惑,null和{}不是应该一样吗,都表示空对象吗???

console.log(null=={});  //false

打印出来可以看到结结实实的一个false,上网查这方面的资料特别少,最近终于知道了两者的区别

null其实是表示尚未存在的对象,而{}才代表一个真正的空对象,即表示其中没有数据,或许你还是有点困惑,我们看代码

console.log(null == document.getElementById('aaa'));  //true    aaa是一个不存在的元素

或许看到这里你就明白了什么是null

总结:我们可以简单的理解为,null是一个不存在的对象的占位符,而{}是一个真正的对象,只不过其中没有数据而已。

 

posted @ 2017-11-14 17:53  阿弥陀佛么么哒!  阅读(1607)  评论(2编辑  收藏  举报