1

IE9 デバッガー (F12 開発者ツール -> スクリプト デバッガー) は、ページがサーバーから起動されたときにコードをステップ実行すると、[ローカル] ウィンドウに次のように表示されます。

 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サーバーによって提供されるページで解決される理由がわかりません。デバッガーは、それが true に解決される必要があることを明確に示しています。

ドキュメントは「IE9 標準」モードです。

4

1 に答える 1

2

valueOf メソッドは、Date オブジェクトのプリミティブ値を数値データ型 (UTC 1970 年 1 月 1 日の午前 0 時からのミリ秒数) として返します。

デバッガーは秒のみを表示するため、変数は実際には異なる場合があります。

于 2013-03-15T19:23:11.877 に答える