Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
web_lab_4.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
75.86 Кб
Скачать

6. Пріоритет

В тому випадку, якщо не має декілька операторів - порядок їх виконання визначається пріоритетом.

Зі школи ми знаємо, що множення в вираженні 2 * 2 + 1виконається раніше складання, тому що його пріоритет вище, а дужки явно задають порядок виконання. Але в JavaScript - набагато більше операторів, тому існує ціла таблиця пріоритетів. Вона містить як вже пройдені оператори, так і ті, які ми ще не проходили. У ній кожному оператору заданий числовий пріоритет. Той, у кого число менше - виконається раніше. Якщо пріоритет однаковий, то порядок виконання - зліва направо.

7. Інкремент / декремент: ++, -

Однією з найбільш частих операцій в JavaScript, як і в багатьох інших мовах програмування, є збільшення або зменшення змінної на одиницю. Для цього існують навіть спеціальні оператори:

інкремент ++ збільшує на 1:

var i = 2;

i ++; // більш короткий запис для i = i + 1.

alert (i); //3

декремент - зменшує на 1:

var i = 2;

i -; // більш короткий запис для i = i - 1.

alert (i); // 1

Інкремент / декремент можна застосувати тільки до змінної. код5 ++ дасть помилку.

Викликати ці оператори можна не тільки після, але і перед змінної: i ++ (Називається «Постфіксний форма») або ++ i ( «Префиксная форма»). Обидві ці форми записи роблять одне і те ж: збільшують на 1. Проте, між ними існує різниця. Вона видно тільки в тому випадку, коли ми хочемо не тільки збільшити / зменшити змінну, але і використовувати результат в тому ж виразі. Наприклад:

var i = 1;

var a = ++ i; // (*)

alert (a); // 2

В рядку (*) виклик ++ i збільшить змінну, а потім поверне її значення в a. Тобто, в a потрапить значення i після збільшення.

Постфіксний форма i ++ відрізняється від префіксної ++ i тим, що повертає старе значення, колишнє до збільшення.

В прикладі нижче в a потрапить старе значення i, рівне 1:

var i = 1;

var a = i ++; // (*)

alert (a); // 1

Якщо результат оператора не використовується, а потрібно тільки збільшити / зменшити змінну - без різниці, яку форму використовувати:

var I = 0;

i++;

++i;

alert(i); //2

Якщо хочеться тут же використовувати результат, то потрібна префиксная форма:

var i = 0;

alert (++ i); // 1

Якщо потрібно збільшити, але потрібно значення змінної до збільшення - Постфіксний форма:

var i = 0;

alert (i ++); // 0

Інкремент / декремент можна використовувати в будь-яких виразах.

При цьому він має більш високий пріоритет і виконується раніше, ніж арифметичні операції:

var i = 1;

alert (2 * ++ i); // 4

var i = 1;

alert (2 * i ++); // 2, виконався раніше але значення повернув старе

При цьому, потрібно з обережністю використовувати такий запис, тому що при читанні коду часто неочевидно, що змінна збільшується. Три рядки - довше, зате наочніше:

var i = 1;

alert (2 * i);

i ++;

8. Побітові оператори

Побітові оператори розглядають аргументи як 32-розрядні цілі числа і працюють на рівні їх внутрішнього двійкового представлення.

Ці оператори не є чимось специфічним для JavaScript, вони підтримуються в більшості мов програмування.

Підтримуються наступні побітові оператори:

AND (і) ( & ) OR (або) ( | )

XOR (побітовое виключає або) ( ^ )

NOT (не) ( ~ )

LEFT SHIFT (лівий зсув) ( << )

RIGHT SHIFT (праве зрушення) ( >> )

ZERO-FILL RIGHT SHIFT (праве зрушення із заповненням нулями) ( >>> )

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]