Войти

Показать полную графическую версию : JavaScript, не могу найти ошибку


modem
28-02-2005, 22:20
<html>
<head>
<title>
airport
</title>
</head>
<body>
<script language = JavaScript>
var dateNow = new date()
var hourNow = dateNow.getHours()
document.write ("<center>")
document.write ("<H1>")
document.write ("Welcome in the airport Dynamic HTML!")
document.write ("</H1>")
document.write ("<h2>")
document.write (dateNow.toLocalString())
document.write ("</h2>")
document.write ("</center>")
if (hourNow<6 || hourNow>22) {
document.write("<center>")
document.write("<h1>")
document.write("Airport is cloused")
document.write("</h1>")
document.write("</center>")
}
if (hourNow>6 && hourNow<12) {
document.write("<center>")
document.write("<table border bgcolor= '#ffff00'>")
document.write("<tr><th colspan=2>Morning fligth </th></tr>")
document.write("<tr><td>Pittsburg</td><td>6:30 am</td></tr>")
document.write("<tr><td>Paris</td><td>7:30 am</td></tr>")
document.write("<tr><td>Moscow</td><td>8:30 am</td></tr>")
document.write("<tr><td>New York</td><td>9:30 am</td></tr>")
document.write("<tr><td>Boston</td><td>10:30 am</td></tr>")
document.write("</table>")
document.write("</center>")
}
if (hourNow>=12 && hourNow<17) {
document.write("<center>")
document.write("<table border bgcolor= '#ffff00'>")
document.write("<tr><th colspan=2>Day fligth </th></tr>")
document.write("<tr><td>Pittsburg</td><td>12:30 am</td></tr>")
document.write("<tr><td>Paris</td><td>13:30 am</td></tr>")
document.write("<tr><td>Moscow</td><td>14:30 am</td></tr>")
document.write("<tr><td>New York</td><td>15:30 am</td></tr>")
document.write("<tr><td>Boston</td><td>16:30 am</td></tr>")
document.write("</table>")
document.write("</center>")
}
if (hourNow>=17 && hourNow<22) {
document.write("<center>")
document.write("<table border bgcolor= '#ffff00'>")
document.write("<tr><th colspan=2>Evening fligth </th></tr>")
document.write("<tr><td>Pittsburg</td><td>17:30 am</td></tr>")
document.write("<tr><td>Paris</td><td>18:30 am</td></tr>")
document.write("<tr><td>Moscow</td><td>19:30 am</td></tr>")
document.write("<tr><td>New York</td><td>20:30 am</td></tr>")
document.write("<tr><td>Boston</td><td>21:30 am</td></tr>")
document.write("</table>")
document.write("</center>")
}
</script>
</body>
</html>

вообщем в зависимости от времени суток, должны грузиться разные таблицы, а у меня пустая страница 8( , только начал изучать JavaScript вот споткнулся, нужна помощь 8) И вообще есть ли какой нибудь софт, вроде синтаксис проверщика?

Savant
01-03-2005, 00:56
modem
Первое заметил сразу, это

// строка 9
var dateNow = new Date()

Подумав было, что это всё, залил весь текст в HTML и открыл в браузере. Великое разочарование. Ошибка на строке 16: объект не поддерживает это свойство или метод. Ну что ж, меняем на то, что поддерживает (или убираем вообще):

// строка 16
document.write (dateNow.toGMTString())

Вроде теперь скрипт работает...

Кстати, а что этот скрипт выдаст, когда будет 22 часа или 6 часов ? ;)

Prisoner
01-03-2005, 10:36
Для избежания недоразумений в коде и выработки стиля, также могу посоветовать ставить символ ;после каждой отдельного оператора. Проверка кода же осуществляется, в большинстве случаев, методом проб и ошибок - исправил, поглядел. Есть дебаггеры, но мой опыт общения с ними плачевен - имхо, бесполезная вещь.

vadimiron
01-03-2005, 15:08
modem
Ну во-первых, советую использовать JavaScript настолько редко, насколько это возможно, потому что есть большие расхождения в поддержке браузеров данного скриптового языка.
Если всё же без него не обойтись, то лучше сначало поискать в интернете уже готовые решения, так как этот язык очень лёгкий и уже много чего готового весит в инете, я думаю, уже проверенные решения лучше, чем самому писать
И что касается проверщика кода: есть программы типа JavaScript Editor, с помощью которых можно быстрей набирать код, для поиска подобных программ наберите в гугле "JavaScript Editor", скачайте паручку и пользуйтесь, который вам больше нравиться
А в вашем коде как уже сказал Savant, Date() пишется с большой буквы и пишите как сказал Prisoner :) ";" после каждого оператора




© OSzone.net 2001-2012