В чем разница между performance.now() и Date.now()?
Должен ли я рассматривать performance.now() как замену для Date.now(), поскольку performace.now() более последователен и независим?
Ответ 1
Оба они служат для разных целей.
performance.now() относительно загрузки страницы и более точного по порядку величины. Варианты использования включают бенчмаркинг и другие случаи, когда требуется время с высоким разрешением, например, медиа (игры, аудио, видео и т.д.).
Следует отметить, что performance.now() доступен только в новых браузерах (включая IE10 +).
Date.now() относительно эпохи Unix (1970-01-01T00: 00: 00Z) и зависит от системных часов. К примерам использования относятся такие же старые манипуляции с датами с самого начала JavaScript.
Date.now() возвращает количество миллисекунд, прошедших с 1 января 1970 г. 00:00:00 UTC, performance.now() возвращает количество миллисекунд, с микросекундами в дробной части, от performance.timing.navigationStart, начало навигации по документу, к вызову performance.now(). Еще одно важное отличие между Date.now() и performance.now() состоит в том, что последнее монотонно возрастает, поэтому разница между двумя вызовами никогда не будет отрицательной.