2013-03-15 32 views
1

IE9調試器(F12開發人員工具 - >腳本調試器)在執行代碼時單步執行代碼時在本地窗口中顯示以下內容頁面從服務器推出:javascript Date()。valueOf()正在開發PC上工作,但不在服務器上服務的頁面上

midnight Fri Mar 15 00:00:00 EDT 2013  Object, (Date) 
myDate Fri Mar 15 00:00:00 EDT 2013  Object, (Date) 

,但對於價值平等地獲得下列條件測試解析爲false

if (midnight.valueOf() === myDate.valueOf()) { 
    // these lines of code are never reached 
    . 
    . 
    . 
} 

奇怪的東西,===測試解析爲true我發展PC。我無法弄清楚爲什麼它在服務器提供的頁面上解析爲false。調試器清楚地表明它應該解析爲真。

該文檔處於「IE9標準」模式。

+1

locale?儘管如此,仍然很奇怪。 – raina77ow 2013-03-15 19:17:53

回答

2

valueOf方法返回Date對象的原始值作爲數字數據類型,自1970年1月1日UTC以來的毫秒數。

調試器只顯示秒數,所以變量實際上可能不同。

+0

應該可能是一個評論(問題/問題目前是模糊的),儘管它包含一條線索:實際的時代偏移是什麼? – 2013-03-15 21:33:05

+0

@pst:克里斯指出我正確的方向。當實例化日期時,它們被實例化:var d = new Date(); d.setHours(0); d.setMinutes(0); d.setSeconds(0)'。現在我添加了'd.setMillseconds(0)'。 – Tim 2013-03-15 21:37:37

相關問題