Операторы присваивания
? = присваивает переменной значение:
Z = 5;
? += увеличивает значение переменной на указанную величину:
Z += 5; // Эквивалентно Z = Z + 5;
? -= уменьшает значение переменной на указанную величину:
Z -= 5; // Эквивалентно Z = Z - 5;
? *= умножает значение переменной на указанную величину:
Z *= 5; // Эквивалентно Z = Z * 5;
? /= делит значение переменной на указанную величину:
Z /= 5; // Эквивалентно Z = Z / 5;
? %= делит значение переменной на указанную величину и возвращает ос-
таток:
Z %= 5; // Эквивалентно Z = Z % 5;
3.7.3. Двоичные операторы
? ~ — двоичная инверсия:
Z = ~X;
? & — двоичное И:
Z = X & Y;
? | — двоичное ИЛИ:
Z = X | Y;
? ^ — двоичное исключающее ИЛИ:
Z = X ^ Y;
? << — сдвиг влево — сдвиг влево на один или более разрядов с заполне-
нием младших разрядов нулями:
Z = X << Y;
? >> — сдвиг вправо — сдвиг вправо на один или более разрядов с запол-
нением старших разрядов содержимым самого старшего разряда:
Z = X >> Y;
? >>> — сдвиг вправо без учета знака — сдвиг вправо на один или более разрядов с заполнением старших разрядов нулями:
Z = X >>> Y;
Как следует из названия, двоичные операторы выполняют поразрядные дей-
ствия с двоичным представлением целых чисел.
3.7.4. Оператор обработки строк
? + — оператор конкатенации строк:
var Str = "Строка1" + "Строка2";
// Переменная Str будет содержать значение "Строка1Строка2"
Часто необходимо сформировать строку, состоящую из имени переменной и ее значения. Если написать
var X = "Строка1";
var Z = "Значение равно X";
то переменная Z будет содержать значение "Значение равно X", а если так:
var X = "Строка1";
var Z = "Значение равно " + X;
то переменная Z будет содержать значение "Значение равно Строка1". Лис-
тинг 3.8 демонстрирует вывод значения переменной в диалоговом окне.
Листинг 3.8. Вывод значения переменной
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Вывод значения переменной</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-
1251">
</head>
<body>
<script type="text/javascript">
<!-
var X = "Строка1";
window.alert("Переменная X содержит значение ‘X’");
// Выведет "Переменная X содержит значение ‘X’" window.alert("Переменная X содержит значение ‘" + X + "’");
// Выведет "Переменная X содержит значение ‘Строка1’"
//->
</script>
</body>
</html>
3.7.5. Приоритет выполнения операторов
В какой последовательности будет вычисляться это выражение?
X = 5 + 10 * 3 / 2;
Это зависит от приоритета выполнения операторов. В данном случае после-
довательность вычисления выражения будет следующей:
1. Число 10 будет умножено на 3, так как приоритет операции умножения выше приоритета операции сложения.
2. Полученное значение будет поделено на 2, так как приоритет операции деления равен операции умножения, но выше операции сложения. При равных приоритетах операции выполняются слева направо.
3. К полученному значению будет прибавлено число 5, так как оператор присваивания = имеет наименьший приоритет.
4. Значение будет присвоено переменной X.
С помощью скобок можно изменить последовательность вычисления выра-
жения. Следующее выражение будет вычислено в другом порядке:
X = (5 + 10) * 3 / 2;
1. К числу 5 будет прибавлено 10.
2. Полученное значение будет умножено на 3.
3. Полученное значение будет поделено на 2.
4. Значение будет присвоено переменной X.
Перечислим операторы в порядке убывания приоритета:
? !, ~, ++, — — отрицание, двоичная инверсия, инкремент, декремент;
? *, /, % — умножение, деление, остаток от деления;
? +, - — сложение и вычитание;
? <<, >>, >>> — двоичные сдвиги;
? & — двоичное И;
? ^ — двоичное исключающее ИЛИ;
? | — двоичное ИЛИ;
? =, +=, -=, *=, /=, %= — присваивание.
Источник: Прохоренок Н. А. HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. — 3-е изд., перераб. и доп. — СПб.: БХВ-Петербург, 2010. — 912 с.: ил. + Видеокурс (на CD-ROM) — (Профессиональное программирование)
Похожие посты:
- Изменение высоты строки (межстрочного интервала) в тексте (0)
- Изменение стиля маркеров списка или удаление маркеров (0)
- Справочник по обобщенным представлениям Django (0)
- Встроенные шаблонные теги и фильтры Django (0)
- Справочник по встроенным фильтрам add Django (0)
- Аргументы представления, принимаемые по умолчанию Django (0)
- Автоматическое экранирование HTML Django (0)