[javascript] 성능-Date.now () 대 Date.getTime ()

var timeInMs = Date.now();

MDN

var timeInMs = new Date(optional).getTime();

MDN 당 .

구문과 두 번째 버전에서 선택 사항을 통해 날짜를 설정하는 기능 (현재가 아님) 외에 둘 사이에 차이점이 있습니까?

Date.now ()가 더 빠릅니다 -jsperf를 확인하세요.



답변

이러한 것들은 동일합니다 ( 의미 적으로 편집하십시오 . 성능은을 사용하여 약간 더 좋습니다 .now()).

var t1 = Date.now();
var t2 = new Date().getTime();

그러나 이미 생성 된 Date인스턴스 의 시간 값은 생성 시점 (또는 설정된 시간 / 날짜)에 고정됩니다. 즉, 이렇게하면 :

var now = new Date();

잠시 기다렸다가에 대한 후속 호출 now.getTime()이 변수가 설정된 시점의 시간을 알려줍니다.


답변

사실상 동등하지만 Date.now(). 더 명확하고 약 두 배 빠릅니다.

편집 : 출처 : 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;

http://jsperf.com/new-date-vs-settime


답변