今天優化代碼的時候,發現一個問題,js比較日期是否相等時,我用==去比較,發現兩個時間不相等但是運行結果卻是true,然后去百度了下發現oldStartTime, startTime都是對象,類型為引用類型,所以如果需要比較他們,需要去比較他們的字面量值,而不是單純的用 == 來比較。
var oldStartTime = new Date("2018-12-24");
var startTime = new Date("2018-12-24");
console.log(oldStartTime== startTime); //false
oldStartTime和startTime看上去是一樣的,但是運行oldStartTime== startTime 返回的卻是false.
解決方案如下:
1.console.log(oldStartTime .getTime() == startTime .getTime()); //true 用getTime()方法,就可以返回日期對應的數值,然后比較就可以了。
2.console.log(oldStartTime - startTime == 0); //true 這里用oldStartTime 減去startTime ,即可以得到它們之間的時間差,如果為0,那么肯定是相等的。
百度到的原文鏈接如下:
https://www.jb51.net/article/41263.htm