Заглянем внутрь Java Script (часть 1)

Автор: Tarus Четверг, Апрель 5th, 2012 Нет комментариев

Рубрика: Уроки JavaScript

В этой статье я не собираюсь описывать основы Java Script, таких книг и сайтов предостаточно. Я собираюсь взять скрипты (не все, но самые полезные и часто употребляемые) и заглянуть в них, посмотреть как они написаны и работают. Ведь подчас намного легче понять что-то заглянув в самую сердцевину (в начинку). А после этого будет очень легко писать «переделанные» под свои нужды скрипты.

Я планирую начать с легких скриптов и шаг за шагом переходить к более сложным. Надеюсь, что это путешествие будет интересно не только для меня.

Светло-желтым фоном будут выделены примеры работы скриптов, если есть возможность помещения их на эту страницу, в противном случае ссылки на примеры.

Светло-голубым фоном будут выделены — коды скриптов.

Начнем со скрипта, выводящего приветствие в зависимости от времени суток.

Пример работы скрипта:

<script language=»JavaScript»>
var h=(new Date()).getHours();
if (h >4 && h< 11) document.writeln(«Доброе утро!»);
if (h>11 && h< 18) document.writeln(«Добрый день!»);
if (h>18 && h< 23) document. writeln(«Добрый вечер!»);
if (h>23 || h< 4 ) document.writeln(«Привет полуночникам :-) » ) ;
</script>

Теперь рассмотрим текст скрипта, внутри тегов <script> построчно:

var h=(new Date()).getHours();

var — происходит инициализация новой глобальной переменной (мы даем ей имя h — имя любое из головы, но имена не должны повторяться), (new Date()).getHours() — скрипт берет системное время. Таким же образом можно было взять минуты getMinutes() и секунды getSeconds().

var if (h >4 && h< 11) document.writeln(«Доброе утро!»);

if — оператор если, при условии верности значения стоящего в круглых скобках (), выполняется операция следующая за круглыми скобками, если таких операций несколько, то их заключают в фигурные скобки {}, каждая операция заканчивается точкой с запятой, обозначая этим конец операции и переход к следующей, так как скрипт выполняется сверху вниз.

в круглых скобках у нас стоит объединяющее и && , поэтому данная строка читается так: если h — текущий час — больше 4-х и меньше 11, то выполняется команда document.writeln(«Доброе утро!»); то есть в нужном месте Java Script пишет текстовую строку, заданную в круглых скобках и стоящую в кавычках.

Аналогично работают и оставшиеся строки скрипта. Таким образом в зависимости от времени суток, можно сделать динамическое приветствие и сказать посетителям своего сайта, все, что душа пожелает.

Скрипт, выводящий дату последнего обновления.

Пример работы скрипта:

<script language=»JavaScript»>
var update = new Date(document.lastModified);
dd = update.getDate();
mm = update.getMonth() +1;
yy = update.getYear();
document.write(«Updated «+dd+»/»+mm+»/»+yy+»<br>»);
</script>

Теперь рассмотрим текст скрипта построчно.

var update = new Date(document.lastModified);

Как мы знаем, у каждого документа есть ряд параметров, относящихся к его свойствам, и прописанных в его файле (невидимо для нас).

Этой строкой мы создаем новую глобальную переменную update в которую с помощью java script занесли дату последнего обновления (изменения) документа document.lastModified

dd = update.getDate();

Теперь уже из своей глобальной переменной мы «вычленяем» дату.

mm = update.getMonth();

Таким же образом мы получаем номер месяца.

Надо учитывать, что в программировании отсчет месяцев идет с 0 до 11, то есть январь это 0, и так далее. Поэтому мы прибавляем единицу к взятому числу и получаем нормальный номер месяца

yy = update.getYear();

Далее мы берем номер года.

document.write(«Updated «+dd+»/»+mm+»/»+yy+»<br>»);

Теперь мы выводим строку, как бы собранную из кусочков, то есть из текста и значений наших переменный (не глобальных, так как они задавались без слова var).

Все текстовые отрезки стоят в кавычках. Обратите внимание, что текстом также прописан тег <br>, это сделано потому что команда write в отличии от команды writeln, не делает автоматического перевода каретки.

Автор: Сухов
E-mail: andersu@narod.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты