我有两个javascript日期,dt和Frefdate。在萤火虫中,两个值都是Date {Fri Apr 08 2005 00:00:00 GMT + 1000(AUS Eastern Summer Time)}。
但是dt == Frefdate是假的。 我必须使用dt.valueOf()== Frefdate.valueOf()来比较这两个日期。为什么呢?
在w3schools网站上,日期比较可以是date1> date2。(见http://www.w3schools.com/js/js_obj_date.asp)。
谢谢。
答案 0 :(得分:1)
当你比较两个不同的日期对象时,你没有比较它们的值,你比较它们实际上是同一个对象。
即使两个日期对象设置为相同的日期和时间,它们也是两个独立的实例。可以把它想象成比较对内存中结构的引用。每个的内存位置都不同。
答案 1 :(得分:0)
这两个日期是两个不同的对象,因此它们不是“对象相等”。 JavaScript允许您使用==比较字符串和数字,但所有其他类型都将作为对象进行比较。