
- •Лабораторная работа №7
- •7.4. Теоретические сведения
- •7.4.1. JavaScript – язык программирования сценариев
- •7.4.2. Типы данных
- •7.4.3. Переменные
- •7.4.4. Литералы
- •7.4.4.1. Целые числа (Integers)
- •7.4.4.2. Литералы с плавающей точкой
- •7.4.4.3. Логические литералы
- •7.4.4.4. Строки
- •7.4.4.5. Специальные символы
- •7.4.5. Выражения
- •7.4.6. Операторы
- •7.4.6.1. Арифметические Операторы
- •7.4.6.2. Побитовые операторы
- •7.4.6.3. Логические операторы
- •Вычисление...
- •7.4.6.5. Операторы Строки
- •7.4.7. Создание сценариев
- •7.4.7.1. Использование JavaScript в html
- •7.4.7.2. Тег script
- •7.4.7.3. Определение и запрос функций
- •7.4.7.4. Тег html
- •7.4.7.5. Создание скриптов обработчиков событий
- •7.4.8. Использование встроенных объектов и функций
- •7.4.8.1. Использование Объекта String
- •7.4.8.2. Использование Объекта Math
- •7.4.8.3. Использование Объекта Date
- •7.4.8.4. Использование Встроенных функций
- •Функция eval
- •Функции parseInt и parseFloat
- •7.5. Пример разработки программы на php с использованием сценариев JavaScript
- •7.6. Указания по организации самостоятельной работы студентов
- •7.7. Контрольные вопросы
7.4.6. Операторы
JavaScript имеет арифметические, строковые и логические операторы. Имеет, и бинарные и унарные операторы. Бинарный оператор требует двух операндов, унарный перед оператором и одним после оператора:
Operand1 operator operand2
Например, 3 + 4 or x * y
Унарный оператор требует одного операнда, до или после оператора:
operator operand
Или
operand operator
Например x ++ или ++ x.
7.4.6.1. Арифметические Операторы
Арифметические операторы принимают численные значения (литералы или переменные) как их операнды и возвращают числовое значение.
Стандарт Арифметические операторы - сложение (+), вычитание (-), умножение (*), и деление (/). Эти операторы работают стандартным способом.
Оператор модуля используется следующим образом:
Var1 % var2
Оператор модуля возвращает первый операнд по модулю второго операнд, то есть var1 по модулю var2, где var1 и var2 - переменные. Функция по модулю - это остаточный член от деления var1 на var2. Например, 12 % 5 возвращается 2.
Оператор инкремент используется следующим образом:
var++ или ++var
Этот оператор увеличивает его операнд и возвращает значение. Если используемый постфикс, с оператором после операнда (например x ++), то возвращает значение перед увеличением. Если используемый префикс с оператором перед операндом (например, ++ x), то возвращает значение после увеличения.
Например, если x - 3, то утверждение
y = x ++
Увеличивает x до 4 и присваивает y равное 3.
Если x - 3, то утверждение
y = ++ x
Увеличивает x до 4 и присваивает y равное 4.
Оператор декремента используется следующим образом:
var-- или --var
Этот оператор уменьшает его операнд и возвращает значение. Если используемый постфикс (например x--) то возвращает значение перед уменьшением. Если используемый префикс (например, --x), то возвращает значение после уменьшения.
Например, если x - 3, то утверждение
y = x --
Уменьшает x до 2 и присваивает y равное 3.
Если x - 3, то утверждение
y = -- x
Уменьшает x до 2 и присваивает y равное 2.
Унарный оператор вычитания должен предшествовать его операнду. Например,
x = -x
Вычитает значение x; например, если бы x был равен 3, то стал бы равным -3.
7.4.6.2. Побитовые операторы
Побитовые операторы воздействуют на операнды как набор битов (0 и 1). Например, десятичное число 9 имеет двоичное представление 1001. Побитовые операторы выполняют действия на таких двоичных представлениях, но они возвращают стандартное JavaScript численное значение.
Побитовые логические операторы работают следующим образом:
Операнды преобразованы в 32-битные целые числа, и выражения строк битов (0 и 1).
Каждый бит в первом операнде соединен с соответствующим битом во втором операнде: первый бит к первому биту, второй бит ко второму биту, и так далее.
Оператор применяется к каждой паре битов, и результат создан побитовым.
Побитовые операторы:
Побитовый И & возвращает 1, если оба операнда 1.
Побитовый ИЛИ | возвращает 1, если любой операнд 1.
Исключающее побитовое ИЛИ ^ возвращает 1, если есть 1 но не оба операнда 1.
Например, бинарное представление 9 - 1001, и бинарное представление 15 - 1111. Так, когда побитовые операторы применяются к этим значениям, то результаты выглядят следующим образом:
15 & 9 возвращает 9 (1111 & 1001 = 1001)
15 | 9 возвращает 15 (1111 | 1001 = 1111)
15 ^ 9 возвращает 6 (1111 ^ 1001 = 0110)
Побитовые операторы сдвига:
Сдвиг влево (<<)
Сдвиг вправо (>>)
Сдвиг вправо с заполнением нулями (>>>)
Операторы сдвига присваивает два операнда: первый - количество на которое будет сдвинуто, и второй определяет число битовых положений, которыми первый операнд должен быть сдвинут. Направление действия сдвига управляется использующим оператором.
Операторы сдвига преобразуют операнды к 32-битное целое число, и возвращают результат того же самого типа что и левый оператор.
Сдвиг влево (<<)
Сдвиг влево перемещает все биты влево на количество позиций, указанных в правой части выражения, заполняя освободившиеся позиции нулями
Например, 9<<2 возвращает 36, потому что 1001 сдвигается на 2 бита влево и становится равным 100100, что равно в десятеричной системе 36.
Сдвиг вправо (>>)
Сдвиг вправо заполняет освободившиеся слева позиции значением самого левого бита исходного значения.
Например, 9 >> 2 возвращает 2, потому что 1001 сдвигается на два бита вправо и становится 10, что равно в десятеричной системе 2. Аналогично, -9 >> 2 возвращает -3, потому что знак сохраняется.
Сдвиг вправо с заполнением нулями (>>>)
Сдвиг вправо с заполнением нулями работает аналогично сдвигу влево, только в противоположном направлении.
Например, 19>>>2 возвращает 4, потому что 10011 сдвигается на два бита вправо и становятся 100, что равно в десятеричной системе 4. Для postive чисел, ноль - заполняет правый сдвиг, и распространяющийся знак сдвигается вправо выдает тот же самый результат.