var timeInMs = Date.now();
MDNごと
対。
var timeInMs = new Date(optional).getTime();
MDNごと。
2番目のバージョンのオプションを介して構文と日付を(現在ではなく)設定する機能以外に、2つの間に違いはありますか?
Date.now()の方が高速です-jsperfをチェックしてください
var timeInMs = Date.now();
MDNごと
対。
var timeInMs = new Date(optional).getTime();
MDNごと。
2番目のバージョンのオプションを介して構文と日付を(現在ではなく)設定する機能以外に、2つの間に違いはありますか?
Date.now()の方が高速です-jsperfをチェックしてください
これらは同じです(セマンティックに編集します。パフォーマンスは)で少し良くなり.now()
ます:
var t1 = Date.now();
var t2 = new Date().getTime();
ただし、すでに作成されているDate
インスタンスの時間値は、その構築時(または設定されている任意の日時)に凍結されます。つまり、これを行う場合:
var now = new Date();
その後、しばらく待つとnow.getTime()
、変数が設定された時点の時刻がに通知されます。
これらは実質的に同等ですが、を使用する必要がありますDate.now()
。それはより明確で、約2倍の速さです。
編集:出典: http: //jsperf.com/date-now-vs-new-date
そうすると(new Date()).getTime()
、新しい Date オブジェクトが作成されます。これを繰り返し行うと、Date.now() よりも約 2 倍遅くなります。
同じ原則がArray.prototype.slice.call(arguments, 0)
vsにも適用されるべきです[].slice.call(arguments, 0)
はい、それは正しいです。現在の時刻を使用する場合、これらは実質的に同等です。
再インスタンス化せずに Date のメソッドにアクセスできるように、時間追跡変数を単なるミリ秒数としてではなく、Date オブジェクト形式で保持することが望ましい場合があります。その場合、Date.now() は new Date() などよりも優れていますが、Chrome では約 20%、IE ではわずかです。
私のJSPERFを見てください
timeStamp2.setTime(Date.now()); // set to current;
対。
timeStamp1 = new Date(); // set to current;