Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Практические аспекты разработки веб-ресурсов. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
08.09.2026
Размер:
2 Мб
Скачать
Зарезервированное слово
Зарезервированное слово
class
let
const
new
continue
null
debugger
return
default
super
delete
switch
do
this
else
throw
enum
true
eval
try
export
typeof
extends
var
false
void
finally
while
for
with
function
Обозначение
Esc-последовательности
Пояснение
\b
Возврат (Backspace)
\f
Перевод или прогон страницы (Form feed)
\n
Перевод строки (New line)
\r
Возврат каретки (Carriage return)
\t
Табуляция (Tab)
\v
Вертикальная табуляция (Vertical tab)
\'
Апостроф или одинарная кавычка
Двойная кавычка
\\
Обратная косая черта (Backslash)
Символы, использующиеся в строках и строках комментариев — это все символы буквенно-цифровой клавиатуры, а так же те символы, которые не ис­пользуются в языке JavaScript. Строки символов заключаются в кавычки сле­дующих видов: ‘ abc ’, “ abc “. В строках могут использоваться специальные или Esc-последовательности (управляющие последовательности), которые при­ведены в табл. 2.5.
Таблица 2.5
Esc-последовательности, использующиеся в JavaScript
61
\XXX
Символ в кодировке Latin-1, представленный тремя восьмеричными числами XXX от 0 до 377. Например,
\251 (символ ©)
\xXX
Символ в кодировке Latin-1, представленный двумя шестнадцатеричными числами XX от 00 до FF. Напри­мер, \xA9 (символ ©)
\uXXXX
Символ в Unicode, представленный четырьмя шестна­дцатеричными числами XXXX. Например, \u00A9 (сим­вол ©)
\u{XXXXX}
Символ в UTF-32BE. Например, \u{2F804} обозначает то же, что обычная запись \uD87E\uDC04
Название
Описание
Пример
var
Объявляет переменную, инициализация перемен­ной значением является необязательной
var a; var x=3; var g, f, m=”ok”;
let
Объявляет локальную переменную в области ви­димости блока, инициализация переменной зна­чением является необязательной
let c; let y=5;
const
Объявляет именованную константу, доступную только для чтения
const t=’123’;
Подключение скрипта к коду веб-страницы
Скрипты вставляются в тело HTML-документа при помощи специального тега <SCRIPT>. . .</SCRIPT> следующими способами:
1. Текст JavaScript пишется в этих тегах. Браузер анализирует содержи­мое, находящееся между этими тегами и для исполнения сценария приводит в действие тот или иной интерпретатор.
2. Текст JavaScript пишется в отдельном файле. Этот подход наиболее приемлем при использовании скриптов довольно большого объема, а также для хранения служебных процедур. Если мы храним наш скрипт в файле с именем
filel.js, то включить его в код страницы мы можем следующим способом: <SCRIPT src= «filei. JS»> </SCRIPT>.
Важную роль при работе с данными играет объявление переменных и
констант. В JavaScript существует три вида объявлений (табл. 2.6).
Таблица 2.6
Виды объявлений в JavaScript
62
Типы данных в JavaScript и операции над ними
Под термином данные принято понимать представление фактов и (или) идей в формализованном виде, пригодном для передачи и обработки в некото­ром процессе, например в процессе, реализуемом аппаратурой ЭВМ.
Одно из преимуществ алгоритмических языков состоит в том, что они позволяют абстрагироваться от деталей, от конкретного способа представления данных в ЭВМ, за счет концепции типа данных. Каждый такой тип, предусмот­ренный в языке, определяет как множество значений этого типа, так и набор операций над ними.
В программах обрабатываемые данные фигурируют в качестве значений тех или иных программных объектов. Данные, которые зафиксированы в тексте и не изменяются в процессе ее выполнения, являются значениями таких про­граммных объектов как константы; остальные данные являются значениями объектов, называемых переменными, поскольку значения этих объектов возни­кают и могут изменяться в процессе выполнения программы. Переменная — поименованная область памяти, выделяемая для хранения исходных данных, промежуточных результатов, результатов вычислений, которые представляют собой значение переменной. С понятием переменная в JavaScript связано поня­тие области видимости переменной, т.е. является ли она глобальной или ло­кальной переменной. Глобальная переменная определена в любой точке про­граммы. Локальная переменная видна только в теле функции, где определена, но имеет преимущество в данной функции над глобальной переменной с тем же именем.
JavaScript — это слабо типизированный или динамический язык, который позволяет не определять тип переменной заранее, он может автоматически быть определен во время выполнения программы.
Стандарт языка JavaScript определяет две основных категории данных:
простые типы;
объектные типы.
К простым типам относятся:
числовой тип — number (num, int — побитовые операции);
строковый тип — string (str);
логический тип — Boolean (bool).
Отдельно надо сказать о значениях null и undefined.
63
Логический тип данных.
Логический тип: обозначается стандартным именем boolean. Множество значений этого типа содержит всего два значения false (ложь) и true (истина).
Числовой тип.
В JavaScript не различаются целые и вещественные числа — они пред­ставлены 64-разрядными значениями с плавающей точкой в диапазоне ±1.7976931348623157Е+308. Целые значения представляются в диапазоне ±(2)53 или ±(9007199254740992).
У действительных чисел целая часть от дробной части отделяется деся­тичной точкой. Такие числа можно записывать и в экспоненциальной форме. Синтаксис: [цифры][.цифры][(Е|е)[(+|-)]цифры].
Например:
4.15
6.34е13 // =6.34*1013
3.2415561Е-21 //=3241556*10
-21
JavaScript позволяет работать не только с десятичными числами, но и с
шестнадцатиричными числами тоже. Они начинаются с префикса 0x или 0Х, за которым идет шестнадцатиричное число.
Например: 0хА1 // десятичный эквивалент 10*16+1=161
Строковый тип.
Строки в JavaScript используются для работы с текстом. Каждый элемент строки (символ Unicode) занимает 16 бит. Нумерация элементов строки начина­ется с нуля. Если в строке элементов нет (ее длина равна нулю), то такая строка называется пустой строкой.
Строки, заданные в явном виде, в JavaScript называются строковыми ли­тералами. Для их обозначения используются одинарные (‘ ‘) или двойные (“ “) кавычки.
Например:
“” // это пустая строка
name=“My_form “ ‘
“Этот текст \n состоит из двух строк” // \n — смотри таблицу 5.
В JavaScript определены следующие основные типы операций:
арифметические операции;
логические операции;
операции отношения;
побитовые операции.
64
Арифметические операции приведены в табл. 2.7.
Операция
Действие
Тип
операндов
Тип
результата
Примеры
Бинарные арифметические операции
*
Умножение
num, num
num
5*3 //=15
-2.5*3 //=-7.5
/
Деление
num, num
num
6/0 // =∞
-6/0 // =- 0/0 // =NaN
**
Возведение в степень
num, num
num
2**3 // =8 10**-2 // 0.01
%
Вычисление остатка от деления
num, num
num
7%2 // =1
-18%12 //=-6
6.5%2.1 //=0.2
+
Сложение
num, num str, str num, str
num str str
14+23 // =37 “Добрый”+” день!” // =”Добрый день!” 1+13+” деревьев” // “14 деревьев”
-
Вычитание
num, num
num
56-13 // =437
Унарные арифметические операции
+
Преобразует опе­ранд в число или в значение NaN. Ес­ли операнд число, то действие отсут­ствует
num
num
+ «3» // =3. +true // =1
-
Преобразует опе­ранд в число и, если необходимо, изменяет знак ре­зультата
num
num
var t=2; t=-t; // t=-2
++
Увеличивает опе­ранд на единицу (инкремент)
lval
num
var t=1; t++; // t=2 var t=2; k=t++ //k=2, t=3 var t=2; k=++t // k=3, t=3
--
Уменьшает опе­ранд на единицу (декремент)
lval
num
var t=2; t--; // t=1 var t=2; k=t-- //k=2, t=1 var t=2; k=--t // k=1, t=1
Арифметические операции JavaScript
Таблица 2.7
65
lval (сокращение от left value) левостороннее выражение. Это термин,
Операция
Название
Тип
операндов
Тип
операции
Примеры
&&
Логическое AND
(конъюнкция)
любой, любой
bool, null
x==0 && y==0 /* возвращает true, если x=0, y=0 */ var o={x:1}; var p=null; p && p.x /* =null, т.к. p равно false, поэтому p.x не вычисляется */
||
Логический OR (исключающее или)
любой, любой
любой
x==0 || y==0 /* возвращает true, если или x=0, или y=0 , но не оба*/ var max=max_width||preferences. max_width||500; /* если значение max_width
определено, то оно присваивает­ся max. Если нет, то пытаемся получить его от preferences. max_width. Иначе max получает значение 500 */
!
Логическое NOT (отрица- ние, инверсия)
bool
bool
var x=true; !x; // x=false
обозначающий выражение, которое может присутствовать слева от оператора присваивания. Левосторонними выражениями являются: переменные, свойства объектов и элементы массивов.
Логические (булевы) операции приведены в табл. 2.8.
Таблица 2.8
Логические операции JavaScript
66
Операции отношения приведены в табл. 2.9.
Операция
Название
Тип
операндов
Тип
операции
Примеры
===
Строгое равенство
любой = любой
bool
3===3
!==
Строгое неравенство
любой, любой
bool
3!==’3’
==
Равенство
любой, любой
bool
3==’3’ true==1
!=
Неравенство
любой, любой
bool
2!=’3’
>
Больше
num, num str, str
bool bool
4>3 ‘12’>2
<
Меньше
num, num str, str
bool bool
3<4 ‘2’<12
<=
Меньше или равно
num, num str, str
bool bool
3<=4 ‘2’<=12
>=
Больше или равно
num, num str, str
bool bool
4>=3 ‘12’>=2
in
Принадлежность свойства
str, obj
bool
var p={x:1, y:1};
“x” in p // =true “z” in p // =false “toString” in p
// =true
instanceof
Принадлежность классу, типу
obj, func
bool
var d=new Date(); d instanceof Date; //=true d instanceof Number; // =false
Операции отношения JavaScript
Таблица 2.9
Если условие, выраженное операцией отношения, выполняется, то воз­вращается true (истина), иначе возвращается false (ложь).
67
Побитовые операции приведены в табл. 2.10.
Операция
Название
Тип
операндов
Тип
операции
Примеры
~
Побитовое отрицание
int
int
~0x234 /*
~
001000110100
110111001011
=0xDCB
&
Логический AND (конъюнк- ция)
int, int
int
0x234&0x0FF /*
001000110100
&
000011111111
000000110100
=0x0034 */
|
Логический OR (дизъюнкция)
int, int
int
0x234|0x0FF /*
001000110100
|
000011111111
001011111111
=0x2FF */
^
Логический XOR (исключа- ющее или)
int, int
int
0x234^0x0FF /*
001000110100
^
000011111111
001011001011
=0x2CB */
<<
Сдвиг влево
int, int
int
7<<2 // =28 /* 111<<2 = 11100→ →16+8+4 = 28 */
>>
Сдвиг вправо
int, int
int
7>>1 //=3 /* 111>>1=011→2+1=3 */
>>>
Сдвиг вправо с заполнением нулями
int, int
int
19>>>2 // =4 /*10011>>>2=00100→4*/
Побитовые операции JavaScript
Таблица 2.10
В операциях >> и >>>, если исходный операнд положительный, то биты слева заполняются нулями, а если отрицательный — единицами.
68
Результатом выполнения операций могут быть значения null, undefined, NaN.
Значение null обычно сообщает об отсутствии какого — либо значения.
Значение undefined указывает на то, что переменная не была инициализи­рована, отсутствует определенное свойство объекта или отсутствует элемент массива.
Значение NaN (Not-A-Number — не число) возникает, когда математиче­ские функции не могут вернуть число, т.е. выполняются недопустимые в мате­матике действия: деление нуля на ноль, вычисление корня квадратного из от­рицательного числа и т.д.
Прежде чем мы рассмотрим объектные типы, следует познакомиться с основными операторами языка JavaScript.
Операторы и инструкции
переходов языка JavaScript
Составной оператор
Для однозначности понимания синтаксиса JavaScript-программы часто требуется, чтобы в том или ином месте синтаксической конструкции фигуриро­вал единственный оператор, тогда как по существу алгоритма на этом месте требуется записать некоторую последовательность операторов. Для разрешения этой ситуации служит составной оператор. Составной оператор объединяет не­сколько простых операторов в единый оператор, путем заключения их в опера­торные фигурные скобки { }.
Синтаксис:
{<оператор 1>;
<оператор 2>;
….;
<оператор n>;
}
Операторы, входящие в составной оператор, могут быть как простыми, так и составными.
Пустой оператор
Формально эта инструкция представляет собой “;”. Пустой оператор поз­воляет не включать ни одного оператора в том месте программного кода, где требуется наличие хотя бы одного оператора, а по факту действие отсутствует.
69
Оператор присваивания
Название
Сокращенный
оператор
Полный оператор
Тип операндов
Тип операции
Присваивание
x=y
x=y
lval, любой
любой
Присваивание со сложением
x += y
x = x + y
lval, любой
любой
Присваивание с вычитанием
x -= y
x = x - y
lval, любой
любой
Присваивание с умножением
x *= y
x = x * y
lval, любой
любой
Присваивание с делением
x /= y
x = x / y
lval, любой
любой
Присваивание по модулю
x %= y
x = x % y
lval, любой
любой
Присваивание с левым сдвигом
x <<= y
x = x << y
lval, любой
любой
Присваивание с правым сдвигом
x >>= y
x = x >> y
lval, любой
любой
Присваивание с беззнаковым сдвигом вправо
x >>>= y
x = x >>> y
lval, любой
любой
Присваивание с побитовым AND
x &= y
x = x & y
lval, любой
любой
Присваивание с побитовым XOR
x ^= y
x = x ^ y
lval, любой
любой
Присваивание с побитовым OR
x |= y
x = x | y
lval, любой
любой
Оператор присваивания обозначается знаком равенства: “=”. Слева дол­жен быть операнд, а справа произвольное значение любого типа, выражение, функция и т.д. Оператор присваивания обладает свойством ассоциативности справа налево.
Например: x=z=y=1; // сначала y получит значение “1”, потом z, затем x
Оператор присваивания может использоваться вместе с операциями, определенными в языке JavaScript (табл. 2.11).
Таблица 2.11
Оператор присваивания
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]