2014-01-07 2 views

ответ

4

Первый возвращает строку даты

Tue Jan 07 2014 11:37:28 GMT+0000 (locale) 

ГП дир должен вернуть UniX метку времени (в миллисекундах)

1389091048652 

при входе их, но первый по-прежнему является объектом даты, в то время как второй один просто номер.

Оба являются действительными и могут быть переданы обратно в new Date()

FIDDLE

+0

Численное представление даты JS - это * не * временная метка unix. (секунды против миллисекунд). – Tomalak

+0

@Tomalak - это метка времени, в миллисекундах, с эпохи – adeneo

+0

Исправить. Это просто не временная отметка * unix * (которая по определению является секундой). – Tomalak

0

Разница между ними заключается в Выполняемые операции:

new Date(date) 

создает new Date объект путем анализа строковое представление объекта date

new Date(+date) 

создает new Date объекта из временной метки, полученной путем преобразования date объекта в число

new Date(date.valueOf()) 

создает new Date объекта из временной метки, полученной из date объекта

Эффект такого же, но это jsPerf, как представляется, указывает на третий случай как самый быстрый из всех браузеров, на которых я тестировал. Если тестовые примеры неверны (из-за оптимизации браузера), пожалуйста, помогите, исправив их и комментируя здесь!

Смежные вопросы