Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Разбор скрипта. Нам известно, что существует такой объект как документ




Результат

Скрипт

Дата и время

Нам известно, что существует такой объект как документ. Иначе в нем ничего нельзя было бы написать. Существуют семь методов объекта: getDay(), getDate(), getMonth(), getYear(), getHour(), getMinute(), и getSecond() (получитьДень, Число, Месяц, Год, Час, Минуту, Секунду). Все они уже существуют, их можно взять и поместить на страницу. Проблема в том, что это всего лишь методы. Для воздействия им нужен объект, а документ для этих целей не годится... так что придется самим придумывать новый объект.

Ошибка 2000!

С 1 января 2000 вместо двух последних цифр года, как раньше, getYear в Експлорере показывает полный четырехзначный номер, а в Нескейпе — число 100. Может быть, Нетскейп заделает эту дырку, а до тех пор лучше пользоваться командой getFullYear, которую, кажется, правильно воспринимает и тот, и другой. Правда, старая «Опера» ее вообще не воспринимает.

<Script Language="JavaScript">

Now = new Date();

document.write("Сегодня " + Now.getDate()+ "-" + Now.getMonth() + "-" + Now.getFullYear() + ". Вы зашли на мою страницу ровно в: " + Now.getHours() + ":" + Now.getMinutes() + " и " + Now.getSeconds() + " секунд.")

</SCRIPT>

Кстати, строка document.write не должна прерываться.

Сегодня 14-11-2009. Вы зашли на мою страницу ровно в: 15:34 и 23 секунд.

Методы Дата и Время

Посмотрите на скрипт. Видите, скрипту дается команда поместить в документ число, месяц, год, часы, минуты и секунды. Несколько дополнительных слов объясняют, на что вы смотрите.
Все это было создано с помощью метода 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.




Поделиться с друзьями:


Дата добавления: 2014-12-24; Просмотров: 417; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.006 сек.