Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Практические аспекты разработки веб-ресурсов. Учебное пособие
.pdf
Зарезервированное слово
Зарезервированное слово
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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
