这是因为在第二种情况下,将比较实际的日期对象,并且两个对象永远不会彼此相等。强迫他们编号:
alert( +startDate2 == +startDate3 ); // true
如果要更明确地转换为数字,请使用以下任一方法:
alert( startDate2.getTime() == startDate3.getTime() ); // true
要么
alert( Number(startDate2) == Number(startDate3) ); // true
哦,对规范的引用:§11.9.3在比较对象时基本上说的抽象平等比较算法,
obj1==obj2仅当它们引用相同的对象时才为true,否则结果为false。



