Методы Дата и Время
Посмотрите на скрипт. Видите, скрипту дается команда поместить в документ число, месяц, год, часы, минуты и секунды. Несколько дополнительных слов объясняют, на что вы смотрите.
Все это было создано с помощью метода get Что-либо (). Обратите внимание на заглавную букву. Сначала «g» в нижнем регистре, потом Заглавная буква.
Во-первых, помните, что все это цифры. Даже метод getDay(), который отвечает за день недели, выражается цифрой от единицы до семи.
Начнем с месяца. Как уже говорилось раньше, getMonth() — это метод, отвечающий за месяц. Теперь задумаемся о том, на какой объект воздействует метод getMonth().Метод (method) воздейcтвует на объект (object).
Может показаться, что get Что-либо () — это метод объекта document. Вовсе нет. Метод документа — write. getMonth() на самом деле является методом объекта Date. Взгляните на скрипт еще раз. Date занимает отдельное место в команде:
Now = new Date();
Устанавливаем объект, с которым будет работать метод getMonth(). Имея дело с датой и временем, всякий раз пользуйтесь той же схемой. Нужно создать объект. Наш объект называется Now (сейчас). Название не имеет значения, если объект получил оригинальное имя, которое больше нигде в JavaScript не встречается.
Команда говорит: Now — это объект, который представляет new Date() (новую Дату). Дата обязательно должна быть новой. Таким способом вы будете получать новую дату каждый раз, когда заходите на страницу или обновляете ее.
|
|
Обратите внимание и на точку с запятой в конце. Она указывает на то, что строка JavaScript закончена. Без нее браузер решил бы, что команда продолжается на следующей строке. Ошибка.
У нас есть объект, на который может воздействовать метод getMonth(). Нам нужно напечатать месяц на странице, значит, где-то должна быть команда document.write(). Нам также известно, что текст в скобках будет виден на странице, так давайте напишем все это, следуя логике: Сначала пишем <Script Language="JavaScript">. Прежде чем приступить к getMonth(), необходимо создать объект. Убедитесь, что строка заканчивается точкой с запятой. Теперь можно вставлять утверждение document.write. Текст в скобках после document.write оформляем по правилам. Текст, видимый на странице, должен быть окружен двойными кавычками (одинарные кавычки для кода HTML внутри двойных).
Новое правило: сочетание текста и команд требует знака «плюс» + между элементами. Объект и метод разделены точкой, так что команда напечатать месяц выглядит так: Now.getMonth().
Новое правило: Now.getMonth() — это не текст, который должен быть виден на странице, а команда, которая указывает месяц. Поэтому не нужно ставить ее ни в какие кавычки. Заканчиваем командой </SCRIPT>.
И вот что у нас получилось: <Script Language="JavaScript">
|
|
//Скрипт напечатает на странице номер месяца
Now = new Date();
document.write("Сейчас месяц " + Now.getMonth())
</Script>
Посмотрите на первый скрипт еще раз. Длинная строка уже не кажется такой страшной. Это просто объект Now и метод getЧто-либо() после него. Элементы даты разделены дефисами. Помните, дефис должен быть виден на странице, поэтому его следует ставить в кавычки. Все части связаны между собой плюсами +.
Пробелы
Сколько бы пробелов вы не ставили до и после знаков плюс, это никак не повлияет на видимый результат. Элементы пойдут сплошным текстом. Поэтому, если вам нужны пробелы, добавляйте их в части текста в кавычках. Например:
"Сейчас ровно "
Когда скрипт отпечатается на странице, пробел окажeтся на своем месте. Помните: это не HTML. В Javascript существуют свои правила относительно пробелов.
Длинная строка
Не будем разбирать всю строку, оставим только cтроку c датой. Вот как это выглядит:
document.write("Сегодня " + Now.getDate() +
"-" + Now.getMonth() + "-" + Now.getFullYear() + ".
Вы зашли на страницу ровно в: " + Now.getHours() +
":" + Now.getMinutes() + " и " + Now.getSeconds() +
" секунд.")
Начинаем с «Сегодня», прибавив пробел в конце. Следом знак плюс. Now.getDate() без кавычек, потому что нам нужен не текст, а цифры. Еще плюс. Потом дефис в кавычках, чтобы отделить следующие цифры. Никаких пробелов, потому что они должны стоять вплотную. Плюс. Потом Now.getMonth без кавычек, чтобы у нас был месяц. Плюс. Еще дефис в кавычках, чтобы он был виден на странице. Плюс. Еще один метод Now.getFullYear сообщит год. Продолжайте дальше по этой схеме, и скрипт напечатает именно то, что вы хотите. Тогда вы всем сможете сказать, который час.
Кое-что об одной из самых интересных заморочек JavaScript. Должно быть, вы заметили, что номер месяца на один меньше, чем нужно. Почему? Цифры сообщает нам JavaScript, a JavaScript любит считать от нуля. Tо есть, январь нулевой месяц и так далее.
Вы присваиваете new Date() имя, как уже делали раньше. Затем присваиваете имя команде, которая вызывает месяц. Ниже я назвал ее mpo (M есяц П люс O дин). И прибавляете к ней единицу.
<Script Language="JavaScript">
Now = new Date();
var mpo = Now.getMonth();
var mpo1 = mpo + 1
document.write("Сейчас месяц " + mpo1 + ".");
</SCRIPT>
И вот что у вас получилось:
Cегодня месяц 12.