tablopik. 2022-05-24 14:22 采纳率: 50%
浏览 29
已结题

js New Date()中时间不能直接比较的问题

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

img

  • 写回答

4条回答 默认 最新

  • 雾里桃花 2022-05-24 14:47
    关注

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 6月17日
  • 已采纳回答 6月9日
  • 创建了问题 5月24日