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

1. Терміни: «унарний», «бінарний», «операнд»

У операторів є своя термінологія, яка використовується в усіх мовах програмування.

операнд - Те, до чого застосовується оператор. наприклад:5 * 2 - Оператор множення з лівим і правим операндами. Інша назва: «аргумент оператора».

унарним називається оператор, який застосовується до одного виразу. Наприклад, оператор унарний мінус"-" змінює знак числа на протилежний:

var x=1;

alert (-x); // -1, Унарний мінус

alert (- (x + 2)); // -3, Унарний мінус застосований до результату складання x + 2

alert (- (- 3)); // 3

бінарним називається оператор, який застосовується до двох операндам. Той же мінус існує і в бінарній формі:

var x = 1, y = 3;

alert (y - x); // 2, бінарний мінус

Робота унарна "+" і бінарного "+" в JavaScript істотно розрізняється.

Це дійсно різні оператори. Бінарний плюс складає операнди, а унарний нічого не робить в арифметичному плані, але зате призводить операнд до числового типу. Далі ми побачимо приклади.

2. арифметичні оператори Базові арифметичні оператори знайомі нам з дитинства: це плюс +, мінус -, помножити *, поділити /.

наприклад:

alert (2 + 2); // 4

Або трохи складніше:

var i = 2;

i = (2 + i) * 3 / i;

alert (i); // 6

Більш рідкісний арифметичний оператор % цікавий тим, що ніякого відношення до відсотків не має, його результат % b - Це залишок від ділення a на b. Наприклад:

alert (5% 2); // 1, залишок від ділення 5 на 2

alert (8% 3); // 2, залишок від ділення 8 на 3

alert (6% 3); // 0, залишок від ділення 6 на 3

Додавання рядків, бінарний +

Якщо бінарний оператор + застосувати до рядків, то він їх об'єднує в одну:

var a = "моя" + "рядок";

alert (a); // моястрока

Якщо хоча б один аргумент є рядком, то другий буде також перетворений до рядка!

Причому не важливо, праворуч або ліворуч знаходиться операнд-рядок, в будь-якому випадку нестроковий аргумент буде перетворений. наприклад:

alert ( '1' + 2); // "12"

alert (2 + '1'); // "21"

Це приведення до рядка - особливість бінарного оператора "+".

Решта арифметичні оператори працюють тільки з числами і завжди наводять аргументи до числа. Наприклад:

alert ( '1' - 2); // -1

alert (6 / '2'); // 3

унарний плюс +

Унарний плюс як арифметичний оператор нічого не робить:

alert (+1); // 1

alert (+ (1-2)); // -1

Як видно, плюс нічого не змінив у виразах. Результат - такий же, як і без нього. Проте, він широко застосовується, так як його «побічний ефект» - перетворення значення в число.

Наприклад, у нас є два числа, в формі рядків, і потрібно їх скласти. Бінарний плюс складе їх як рядки, тому використовуємо унарний плюс, щоб перетворити до числа:

var a = "2"; var b = "3";

alert (a + b); // 23, так як бінарний плюс складає рядки alert (+ a + b); // 23, другий операнд - все ще рядок

alert (+ a + + b); // 5, обидва операнда попередньо перетворені в числа

5. Присвоєння

Оператор присвоювання виглядає як знак рівності =:

var i = 1 + 2;

alert (i); // 3

Він обчислює вираз, яке знаходиться праворуч, і привласнює результат змінної. Цей вислів може бути досить складним і включати в себе будь-які інші змінні:

var a = 1;

var b = 2;

a = b + a + 3; // (*)

alert (a); // 6

В рядку (*) спочатку відбудеться обчислення, що використовує поточне значення a (Тобто 1), Після чого результат перезапише старе значення a.

Можливо присвоювання по ланцюжку:

var a, b, c;

a = b = c = 2 + 2;

Таке присвоювання працює праворуч-ліворуч, тобто спочатку обчислити саме праве вираз 2 + 2, Присвоїти в c, Потім виконається b = c і наостанок, a = b. оператор"=" повертає значення

Всі оператори повертають значення. викликx = вираз записує вираз в x, а потім повертає його. Завдяки цьому присвоювання можна використовувати як частину складнішого виразу:

var a = 1; var b = 2;

var c = 3 - (a = b + 1);

alert (a); // 3 alert (c); // 0

Вприкладі вище результатом (A = b + 1) є значення, яке записується в a (Тобто 3). Воно використовується для обчислення c.

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