Статьи

Заглянем внутрь Java Script.

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

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

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

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


--------------------------------------------------------------------------------

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

Пример работы скрипта:
Добрый день!
<script language="JavaScript">
var h=(new Date()).getHours();
if (h >3 && h< 12) document.writeln("Доброе утро!");
if (h>11 && h< 19) document.writeln("Добрый день!");
if (h>18 && h< 24) 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 >3 && h< 12) document.writeln("Доброе утро!");
if - оператор если, при условии верности значения стоящего в круглых скобках (), выполняется операция следующая за круглыми скобками, если таких операций несколько, то их заключают в фигурные скобки {}, каждая операция заканчивается точкой с запятой, обозначая этим конец операции и переход к следующей, так как скрипт выполняется сверху вниз.

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

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

--------------------------------------------------------------------------------

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

Пример работы скрипта:
Updated 25/1/2002

<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, не делает автоматического перевода каретки.

--------------------------------------------------------------------------------

Скрипт выводящий окно, заданного вида и размера.

Пример работы скрипта - щелкните по ссылке
<script language="JavaScript">
function openWin()
{
myWin= open("wr_js_primer1.html", "openWindow", "width=200,height=200,status=no,toolbar=no,menubar=no,resizable=no");
}
</script>

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

function openWin()
Создаем функцию openWin

myWin= open("wr_js_primer1.html", "primer1", "width=200,height=200,status=no,toolbar=no,menubar=no,resizable=no");

Создаем переменную myWin и с помощью стандартной функции open открываем окно с заданными параметрами - первый из них - имя файла, открываемого в новом окне; второй - уникальное имя задаваеммое нами этому окну.

Следующий параметр имеет ряд свойств (их следует писать через запятую, без пробелов), которые определяют вид нового окна. С этими свойствами можно экспериментировать сколько душе угодно. Варианты выбора в цифрах для ширины и высоты (пискелы), в остальных случаях пишем yes или no.

Думаю, что на первый раз этого достаточно. Можете взять любой скрипт из раздела Java Scripts и попробовать разложить его построчно, я думаю будет интересно.

Продолжение этой темы следует, кстати мне хотелось бы узнать ваши пожелания по поводу скриптов, которые мы будем разбирать в следующий раз. Записи можете оставлять на форуме.

<< назад

Наша кнопка

Если вам понравился наш сайт, то мы будем очень признательны вам, если вы разместите нашу кнопочку размера 88х31 у себя на страничке (сайте).
Для этого достаточно прописать у себя на странице этот код:
<!-- leg-design-->
<a HREF="http://leg-design.narod.ru" target="_blank ">
<img SRC="http://leg-design.narod.ru/images/banner_80.gif" BORDER="0"
alt="Все о web-дизайне" width="88" height="31"></a>
<!-- leg-design end -->


[ Главная | Веб-мастеру | Скрипты | Программы | Статьи ]
[ Flash | Раскрутка | wallpapper's | Наши баннеры | Форум ]

на главную

послать письмо

добавить в избранное

прислать статью

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright© 2002 leg-design
Hosted by uCoz