1.3.3. Язык ядра JavaScript
Синтаксис языка
Язык JavaScript чувствителен к регистру.
Приложение JavaScript представляет собой набор операторов языка (команд), последовательно обрабатываемых встроенным в браузер интерпретатором. Каждый оператор можно располагать в отдельной строке. В этом случае разделитель ‘;’, отделяющий один оператор от другого, не обязателен. Его используют только в случае задания нескольких операторов на одной строке. Любой оператор можно расположить в нескольких строках без всякого символа продолжения. Например, следующие два вызова функции alert эквивалентны:
alert("Подсказка"); alert( "Подсказка"
);
Нельзя перемещать на другую строку единый строковый литерал - он должен располагаться полностью на одной строке текста программы или разбит на два строковых литерала, соединенных операцией конкатенации
‘+’:
alert("Подсказка"); // правильно alert("Под
сказка"); |
// не правильно |
alert("Под" + |
|
"сказка"); // правильно (но браузер выведет текст одной строкой!)
Пробельные символы в тексте программы являются незначащими, если только они не используются в строковых литералах.
ВJavaScript строковые литералы можно задавать двумя равноправными способами - последовательность символов, заключенная в двойные или одинарные кавычки:
"Анна" 'Анна'
Встроковых литералах можно использовать ESC-последовательности, которые начинаются с символа обратной наклонной черты, за которой следует обычный символ. Некоторые подобные комбинации трактуются как один специальный символ.
25
|
Таблица 1.5 |
Esc-последовательности |
Символ |
\b |
Возврат на один символ |
\f |
Переход на новую страницу |
\n |
Переход на новую строку |
\r |
Возврат каретки |
\t |
Горизонтальная табуляция Ctrl-I |
\' |
Апостроф |
\" |
Двойные кавычки |
\\ |
Обратная наклонная черта |
ESC-последовательности форматирования используются при отображении информации в диалоговых окнах, отображаемых функциями alert(), prompt() и confirm(), а также, если методом document.write()
записывается содержимое элемента pre.
Комментарии в программе JavaScript двух видов - однострочные и многострочные:
//комментарий, расположенный на одной строке.
/*
комментарий, расположенный на нескольких строках.
*/
Ссылка на объект осуществляется по имени, заданному параметром name тэга HTML, с использованием точечной нотации. Например, пусть в документе задана форма с двумя полями ввода:
<form name="form1">
Фамилия: <input type = "text" name = "student" size = 20> Курс: <input type = "text" name = "course" size = 2> </form>
Для получения фамилии студента, введенного в первом поле ввода, в программе JavaScript следует использовать ссылку document.form.student.value, a чтобы определить курс, на котором обучается студент, необходимо использовать ссылку document.form.course.value.
Переменные и литералы в JavaScript
В JavaScript все переменные вводятся с помощью одного ключевого слова var. Синтаксическая конструкция для ввода в программе новой переменной с именем name1 выглядит следующим образом:
var name1;
26
Объявленная таким образом переменная name1 имеет значение 'undefined' до тех пор, пока ей не будет присвоено какое-либо другое значение, которое можно присвоить и при ее объявлении:
var name1 = 5;
var name1 = "новая строковая переменная"; JavaScript поддерживает четыре простых типа данных:
•Целый
•Вещественный
•Строковый
•Логический (булевый)
Для присваивания переменным значений основных типов применяются литералы – буквальные значения данных соответсвующих типов.
Выражения JavaScript
Выражение – комбинация переменных, литералов и операторов, в результате вычисления которой получается одно единственное значение. Переменные в выражениях должны быть инициализированы.
1. Присваивание Оператор присваивания (=) рассматривается как выражение
присваивания, которое вычисляется равным выражению правой части, и в то же время он присваивает вычисленное значение выражения переменной заданной в левой части:
var name2=10;
2. Арифметическое выражение Вычисляемым значением арифметического выражения является
число. Создаются с помощью арифметических операторов.
|
Таблица 1.6 |
Оператор |
Действие |
+ |
Сложение |
- |
Вычитание |
* |
Умножение |
/ |
Деление |
% |
Остаток от деления целых чисел |
++ |
Увеличение значения на единицу |
-- |
Уменьшение значения на единицу |
3. Логическое выражение
27
Вычисляемым значением логического выражения может быть true или false. Для создания используются операторы сравнения или логические операторы, применяемые к переменным любого типа.
|
|
|
Таблица 1.7 |
Операторы |
Значение |
Логические |
Значение |
= = |
Равно |
&& |
логическое И |
! = |
Не равно |
| | |
логическое ИЛИ |
>= |
Больше или равно |
|
|
<= |
Меньше или равно |
! |
логическое НЕ |
> |
Строго больше |
|
|
< |
Строго меньше |
|
|
4. Строковые выражения Вычисляемым значением строкового выражения является число. В
JavaScript существует только один строковый оператор – оператор конкатенации (сложения) строк:
string1 = “Моя ” + “строка”
1.3.4. Управляющие конструкции языка JavaScript
Операторы JavaScript
Операторы служат для управления потоком команд в JavaScript. Блоки операторов должны быть заключены в фигурные скобки.
1. Операторы выбора
• условный оператор if
Эта управляющая структура используется, когда необходимо выполнить некий программный код в зависимости от определенных условий. Также предусмотрена конструкция if-else (если-тогда-иначе).
if (условие_1)
{
оператор_1; // эти операторы выполняются,если условие_1 верно оператор_2;
}
else
{
28
оператор_3; // эти операторы выполняются, если условие_1 ложно оператор_4;
}
Условие для проверки (вопрос компьютеру) записывается сразу после слова if в круглых скобках. После этого в фигурных скобках пишется то, что будет предприниматься в случае выполнения условия. Далее else и снова в фигурных скобках то, что выполнится в случае, если условие не сработает. Количество различных действий между фигурными скобками неограниченно, фактически можно выполнить две различные программы. При сравнении можно использовать логические выражения. Например:
<script language="JavaScript"> var x = 5;
var y = 10; if (x>y) {
alert('x - максимальное число')
}
else
{
alert('y - максимальное число')
}
</script>
• оператор выбора switch
Это фактически несколько условных операторов, объединенных в одном. В данном операторе вычисляется одно выражение и сравнивается со значениями, заданными в блоках case. В случае совпадения выполняются операторы соответсвующего блока case.
switch (выражение) { case значение1:
оператор_1; break;
case значение2: оператор_2; break;
…..
default:
оператор;
}
Если значение выражения не равняется ни одному из значений, заданных в блоках case, то вычисляется группа операторов блока default, если этот блок задан, иначе происходит выход из оператора switch.
29