Итак, если Вы скачали себе данное пособие, значить Вы полны решимости изучить язык Java Script. Ну что ж, в таком случае, попытаюсь Вам помочь в реализации своего желания. Я конечно не "..волшебник, а только учусь..", но объяснить основы языка, научить составлять небольшие скрипты - постараюсь.
Сначала давайте узнаем - что же собой представляет язык Java Script?
Язык Java Script представляет собой объектно-ориентированый интерпретатор. Это значит, что
он использует свойства и методы объектов Web-браузера установленного на Вашем компьютере.
"Ооо!" - воскликнете Вы, "..понеслось, поехало - свойства, методы, объекты..". Ну что ж разберем это на простом
примере. Например сейчас у Вас в окне браузера (здесь и далее говоря - браузер - я подразумеваю Интернет Эксплоеер (EI),
это правда не столь существенно, но, как говориться - есть ньюансы...) открыта эта страничка. Так вот,
само окно браузера (window) - является объектом, то что это окно открыто (open() ) - является методом для данного объекта
(т.е. чтобы увидеть это окно - мы его открыли, если мы его закроем то это уже будет другой метод - close()...улавливаете?).
А что Вы в этом окне видете? Правильно - страницу с текстом, другими словами - документ (document), вот этот документ и является
свойством, открытого Вами, окна браузера (другими словами - то что мы видим в окне - и есть свойством этого окна). Вспомнили уроки
грамматики по русскому языку ( существительное отвечает на вопрос - кто?, что?, глагол - что делает? и т.д.)? Но не все так просто... Дело в том,
что этот документ (document) - тоже является объектом, так же имеющим свои методы и свои свойства...:-))). Ну что запутал Вас? :-))) Вот Вам объяснение -
в Java Script имеется иерархия объектов, и объекты верхнего уровня наследуют свойства нижнего. А объект window является объектом верхнего уровня в клиентской иерархии JavaScript.
Не растраивайтесь, если сразу не все поняли - это нормально, "Не сразу Москва строилась" :-))) Дальше мы все это рассмотрим более подробно.
Итак, мы остановились на том, что JavaScript является объектно-ориентированым интерпретатором.
Хотя он и лишен возможностей создания собственных классов (в отличие от языка JAVA), но он оперирует стандартными
объектами. Так как обработчик находится на компьютере пользователя, Java Script использует методы и свойства объектов обозревателя на пользовательском
компьютере.
"Где размещать скрипты?" - вставлять Java Script можно в любом месте HTML-документа (но это правило не имеет обратного действия, т.е НТМL-теги нельзя вставлять
в тело Java Script - программы, исключения составляют тоько обработчики событий), но лучше это делать между тегами <head>....</head>.
Потому, что этот контейнер (содержимое меду открывающим тегом - <head> и закрывающим - </head>)загружается, в браузер пользователя, одним из первых.
Само тело скрипта распологается в контейнере HTML - тегов:<script>....</script> (в случае если скрипт пишется в самом НТМL - документе).
Тег <script> обязательно должен содержать параметр language, со значением равным JavaScript (обращаю Ваше внимание: JavaScript - пишется с соблюдением регистра!).
Я бы, так же посоветовал Вам обрамлять его (тело скрипта) специальными символами: <!-- - перед началом скипта и //--> - в конце.
Таким образом в документе Ваш срипт должен выглядеть приблизительно так:
<head>
.....
<script language="JavaScript"> - открывающий тег
<!-- - спецальный символ
document.write("Привет!"); - тело скрипта
............
//--> - спецальный символ
</script> - закрывающий тег
</head>
Встретив тег <script>, браузер построчно анализирует содержимое документа
до тех пор, пока не будет достигнут тег </script>. После этого производится проверка скрипта
на наличие ошибок и компилция Java Script программы в формат, пригодный для выполнения на компьютере
пользователя.
Вот мы с Вами уже и рассмотрели правила вставки скриптов в НТМL-документ.
Из чего же состоит JavaScript программа?
JavaScript (блин замучался я уже писать это слово целиком..дальше будет просто - JS)
скрипт состоит из выражений, последовательности операторов, фнкций, объектов, их свойств и методов.
Простейший и наиболее точный способ определить выражение - это "что-то, имеющее значение".
Самый простой пример, приходящий на ум это переменные. Когда Вы печатаете var a = 5, Вы присваиваете значение 5 переменной a.
После этого присваивания Вы считаете значением a 5, также, если Вы напишете b = a, Вы будете ожидать того же как,
если бы Вы написали b = 5. Другими словами, a это также выражение со значением 5.
Если все написано правильно, то именно так оно и случиться.
Несколько более сложные примеры выражений - это функции. К примеру, подумайте на следующей функцией :
function prim () {
return 5;
}
Вы считаете, что c=prim() это практически то же самое, что написать c=5? Вы правы. Функции - это выражения с тем значением, которое они возвращают (обычно функции подсчитывают возвращаемое значение,а не возвращают постоянное значение, но это уже, как говорится, другая история).
Конечно, значения в JS не обязаны быть целыми и зачастую они не являются таковыми. JS поддерживает 3 скалярных типа значений : целое, число с плавающей точкой и строки (скалярные выражения Вы не можете "разбить" на более маленькие части, как, к примеру, массивы). JS поддерживает 2 составных (нескалярных) типа : массивы и объекты. Каждое из таких значений может быть присвоено переменной или возвращено функцией.
Очень распространенный тип выражений это выражения сравнения.
Эти выражения имеют значение 0 или 1 (означает ложь или истину соответственно).
JS поддерживает: > (больше, чем), >= ( больше или равно), == (равно), != (не равно),
< (меньше,чем), <=<= (меньше или равно) и логическое отрицание - !.
Получается приблизительно такая табличка:
= = | Равенство (равно) |
!= | Не равно |
! | Логическое отрицание |
>= | Больше или равно |
<= | Меньше или равно |
> | Больше |
< | Меньше |
Эти выражения в основном используются внутри условий, например оператора IF.
Также в JS есть выражения (чаще их называют - операции), так называемые операции присваивания и логические операции.
(На верх)Когда мы начинали рассматривать выражения, я приводил Вам пример:
var a = 5
вспомнили?Это и есть один из вариантов операции присваивания.
Только не надо путать это выражение со знаком равенства! Присваивание значения происходит с права на лево, т.е. значение
правого операнда-5 присваивается левому операнду -
var a. Благодаря этому мы можем делать очень занятные вещи:
a=(b=4)+5;
В данном примере a принимает значение 9, а
b - значение...правильно - 4!!!
Вот вам табличка операций присваивания:
= | Прямое присваивание значения левому операнду |
+= | Складывает значения левого и правого операндов и присваивает результат левому операнду |
+ | Складывает значения левого и правого операндов и присваивает результат левому операнду |
++ | Увеличивает значение левого операнда (правый может отсутствовать) |
-= | Вычитает значения левого и правого операндов и присваивает результат левому операнду |
- | Вычитает значения левого и правого операндов и присваивает результат левому операнду |
-- | Уменьшает значение левого операнда (правый может отсутствовать) |
* | Умножает значения левого и правого операндов и присваивает результат левому операнду |
*= | Умножает значения левого и правого операндов и присваивает результат левому операнду |
/ | Делит значения левого на правого операндов и присваивает результат левому операнду |
/= | Делит значения левого на правого операндов и присваивает результат левому операнду |
Вот небольшой примерчик:
var a=12
a=(a /=2)/3;
В результате: выражение - a/=2 дало нам значение 6, а последняя операция присваивания дала нам переменную а со значением 2
(На верх)Для обозначения логической операции И в языке JS
используют два символа амперсанта (&&), а для обозначения логической
операции ИЛИ - два символа прямой черты (||). Эти операции применимы только к
булевым значеним.
Например:
a = true;можно записать выражение:
b = false;
c = true;
a || bкоторое возвратит значение true, так, как для данного выражения достаточно того, чтобы значение одного из операндов было true. А вот выражение:
a && bвозвратит соответственно false так, как отрабатывается операция логического И.
На этом мы пожалуй закончим рассмотрение выражений и операций и перейдем к операторам языка JS.