new Date(null) == new Date(null)的结果竟然为false,请问是为什么?
如图:

new Date(null) == new Date(null)的结果竟然为false,请问是为什么?
如图:

new Date()是一个对象,首先给你普及一下js中的对象是怎么生成的,在js中,定义对象的时候首先会给这个对象生成一个引用地址,相当于一个门牌号的作用
var obj1 = {a: 1, b: 2}; //在这个操作中,我声明了一个对象obj1,对象里面有两对键值,分别是a: 1, b: 2, 在声明的过程中,js会为这个对象添加一个门牌号,以防止多个对象之间引用错乱,添加的这个门牌号你看不到,只能在存储里做出标识,我们假设obj1添加的这个引用地址为 001
var obj2 = {a: 1, b: 2}; //在这个操作中,我声明了一个对象obj2,对象里面有两对键值,同样也是a: 1, b: 2, 在声明的过程中,js同样也会为这个对象添加新的门牌号,假设js为obj2添加的门牌号是 002
这么一对比就可以看出来了,虽然对象中的值是一样的,但是他们本身的门牌号并不一样,当js检测到门牌号不一致时,就会返回false