Page 82 - 6108
P. 82
Якщо треба тут же використовувати результат, то потрібна префіксна
форма. Якщо потрібно збільшити, але треба значення змінної до збільшення –
постфіксна форма.
Інкремент / декремент можна використовувати в будь-яких виразах. При
цьому він має більш високий пріоритет і виконується раніше, ніж арифметичні
операції:
var i = 1;
alert (2 * ++i); // 4
var j = 1;
alert (2 * j++); // 2, виконався раніше але значення повернув
старе
Побітові оператори
Побітові оператори розглядають аргументи як 32-розрядні цілі числа і
працюють на рівні їх внутрішнього двійкового представлення.
Підтримуються наступні побітові оператори:
– AND (і) (&)
– OR (або) (|)
– XOR (побітове виключаюче або) (^)
– NOT (заперечення) (~)
– LEFT SHIFT (лівий зсув) (<<)
– RIGHT SHIFT (правий зсув) (>>)
– ZERO-FILL RIGHT SHIFT (правий зсув із заповненням нулями) (>>>)
Вони використовуються досить рідко.
Скорочена арифметика з привласненням
Часто потрібно застосувати оператор до змінної і зберегти результат в ній
же, наприклад:
var n = 2;
n = n + 5;
n = n * 2;
Цей запис можна вкоротити за допомогою суміщених операторів, ось так:
var n = 2;
n + = 5; // тепер n = 7 (працює як n = n + 5)
n * = 2; // тепер n = 14 (працює як n = n * 2)
Так можна зробити для операторів +, -, *, /,% і бінарних <<, >>, >>>, &, |, ^.
Виклик з привласненням має в точності такий же пріоритет, як звичайне
присвоювання, тобто виконається після більшості інших операцій:
var n = 2;
n * = 3 + 5;
alert (n); // 16 (n = 2 * 8)
3.1.4 Оператори
{..}
Фігурні дужки визначають складений оператор JavaScript-блок. Основне
призначення блоку – визначення тіла циклу, тіла умовного оператора або
функції.
Умовний оператор if .. else ..