Data.parse не является конструктором?

#javascript

#javascript

Вопрос:

Я использую http://nithinbekal.com/2009/javascript-how-to-create-a-simple-countdown-timer/ Но когда я запускаю его в firefox, я получаю сообщение об ошибке Data.parse не является конструктором. Итак, что мне нужно сделать, чтобы решить эту проблему?

 <script type="text/javascript">
 function updateWCTime() {
now      = new Date();
kickoff  = new Date.parse("June 11, 2012 11:30:00");
diff = kickoff - now;

days  = Math.floor( diff / (1000*60*60*24) );
hours = Math.floor( diff / (1000*60*60) );
mins  = Math.floor( diff / (1000*60) );
secs  = Math.floor( diff / 1000 );

dd = days;
hh = hours - days  * 24;
mm = mins  - hours * 60;
ss = secs  - mins  * 60;

document.getElementById("ct").innerHTML =  dd   " days "   hh   " hours "   mm   " minutes "   ss   " seconds";
}
 setInterval(function() { updateWCTime() }, 1000 );
  

Комментарии:

1. Первый заход в Google ‘js date parse’ с примером кода: w3schools.com/jsref/jsref_parse.asp

Ответ №1:

Удалите new из этой строки. Date.parse это просто метод.

 kickoff  = Date.parse("June 11, 2012 11:30:00");
  

Ответ №2:

Удалите ключевое слово ‘new’ перед вызовом Date.parse. Нравится:

 kickoff = Date.parse("June 11, 2012 11:30:00"); 
  

Поскольку вы добавили ключевое слово new, анализатор подумал, что вы создаете новый экземпляр класса Date.parse. Поскольку этот метод не поддерживает это, вы получили ошибку. По той же причине работает new Date(); потому что Date — это реальный класс, который может быть создан.

Ответ №3:

Вы хотите получить новую дату из возвращаемого значения Date.parse

 new Date(Date.parse("June 11, 2012 11:30:00"))
  

Но вы можете использовать конструктор для синтаксического анализа строки-

 new Date("June 11, 2012 11:30:00")
/*  returned value: (Date)
Mon Jun 11 2012 11:30:00 GMT-0400 (Eastern Daylight Time)
*/