- •1. Методичні вказівки
- •Помилки у сценаріях та методи їх пошуку
- •Виправлення помилок
- •Рядок помилки
- •Множинні помилки
- •Відсутність визначення
- •Дата і час. Функції роботи з датою і часом
- •Методи Date (Дата) і Time (Час)
- •Створення довгого рядка
- •Додавання пропусків
- •Відома проблема
- •Обробники подій
- •Запити користувачу і змінні
- •Об'єктна модель документа. Основні об'єкти і властивості
- •Властивості об'єкту navigator
- •Властивості об'єкту document
- •Властивості об'єкту history
- •Дві властивості об'єкту location
- •Ієрархія об'єктів
- •Створення функцій в JavaScript
- •Команди післядії onMouseOut і onUnload
- •5. Контрольні запитання
Відсутність визначення
Ця помилка часу виконання також досить поширена. Вона означає, що в сценарії щось не погоджене. Треба стежити за тим, аби рядок коду не з'являвся в коді дуже рано, коли використовувані в ньому змінні ще не визначені. Якщо річ не в цьому, спробуйте стерти рядок з помилкою, адже його завжди можна повернути на місце. Трапляються і банальні друкарські помилки. Придивиться до тексту уважніше, друкарські помилки трапляються частіше, ніж можна собі уявити.
Ось практично все, що на даному етапі можна сказати про помилки. Просто пам'ятаєте, що повідомлення — це насправді плюс. Без них довелося б сидіти, втупившись в порожню сторінку, не маючи анінайменшого поняття, в чому проблема. Вони вельми корисні, якщо поглянути на них з правильної точки зору.
Дата і час. Функції роботи з датою і часом
Розглянемо сім методів: getDay(), getDate(), getMonth(), getYear(), getHours(), getMinutes(), і getSeconds() (отримати День, Число, Місяць, Рік, Годину, Хвилину, Секунду). Всі вони вже існують, їх можна узяти і помістити на Web-сторінку. Проблема в тому, що це всього лише методи. Для дії їм потрібний об'єкт, а документ для цих цілей не годиться... отже необхідно створити об'єкт.
Розглянемо сценарій
<SCRIPT LANGUAGE="JavaScript">
//Сценарій виводить точну дату і час відвідин сторінки
Now = new Date();
document.write("Сьогодні " Now.getDate()"-" (Now.getMonth()+1) "-" Now.getFullYear() ". Ви зайшли на Web-сторінку рівно в: " Now.getHours() ":" Now.getMinutes() " і " Now.getSeconds()" секунд.")
</SCRIPT>
Подвійна коса риска вказує на коментар усередині сценарію. Вона означає, що наступний за нею текст не використовуватиметься в процесі. Кількість рядків коментаря нічим не обмежена, треба лише пам'ятати, що кожен рядок повинен починатися з подвійної косої риски //.
Методи Date (Дата) і Time (Час)
Переглянувши сценарій, можна помітити, що результат створюється командою запису в документ числа, місяця, року, години, хвилини і секунди. Декілька додаткових слів пояснюють, що ви бачите.
Кожен з цих об'єктів був створений за допомогою методу у вигляді getЩо-небудь(). Зверніть увагу на заголовну букву. Спочатку "get" в нижньому регістрі, потім слово із Заголовної букви, що описує об'єкт.
Перше: запам'ятайте, що кожен з цих об'єктів є числом. Всі методи повертають лише числа. Навіть метод getDay(), який повертає день тижня, виражається числом від одиниці до семи.
Почнемо з місяця. Як вже говорилося раніше, getMonth() — це метод, що відповідає за місяць. Тепер задумаємося про те, на який об'єкт впливає метод getMonth(). Тобто тепер необхідно визначитися, методом якого об'єкту є getMonth().
Може здатися, що getЩо-небудь() — це метод об'єкту document. Зовсім ні. Метод документа — write. getMonth() насправді є методом об'єкту Date. Погляньте на сценарій ще раз. Об'єкт Date задається в команді:
Now = new Date();
З цим об'єктом працюватиме метод getMonth(). Маючи справу з датою і часом, всякий раз користуйтеся тією ж схемою. Перш за все необхідно створити об'єкт. В даному випадку об'єкт називається Now (зараз).
Команда говорить: Now — це об'єкт, який представляє new Date() (нову Дату). Дата обов'язково має бути новою. В такий спосіб ви отримуватимете нову дату кожного разу, коли заходите на сторінку або оновлюєте її. Без команди new дата залишатиметься статичною.
Зверніть увагу і на крапку з комою в кінці рядка. Це діє як ознака кінця оператора. Вона вказує на те, що рядок JavaScript закінчений. Без неї браузер вирішив би, що команда продовжується на наступному рядку. Помилка.
Отже, у нас є об'єкт, на який може впливати метод getMonth(). Нам потрібно надрукувати місяць на сторінці, значить, десь має бути команда document.write().