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()
이 변수가 설정된 시점의 시간을 알려줍니다.
답변
답변
당신이 할 때 (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;