Відмінності між версіями «Оператори мови JavaScript»
| Рядок 1: | Рядок 1: | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | |||
| + | '''Оператори'''<br/> | ||
| + | JavaScript має арифметичні, рядкові та логічні оператори. Має, і бінарні і унарні оператори. Бінарний оператор вимагає двох операндів, унарний перед оператором і одним після оператора:<br/><br/> | ||
| + | Operand1 operator operand2<br/> | ||
| + | Наприклад, 3 + 4 or x * y<br/> | ||
| + | Унарний оператор вимагає одного операнда, до або після оператора:<br/> | ||
| + | operator operand<br/> | ||
| + | Або<br/> | ||
| + | operand operator<br/> | ||
| + | Наприклад x + + або + + x.<br/><br/> | ||
| + | '''Арифметичні Оператори'''<br/> | ||
| + | Арифметичні оператори беруть чисельні значення (літерали або змінні) як їх операнди і повертають числове значення.<br/><br/> | ||
| + | '''Стандартні Арифметичні Оператори'''<br/> | ||
| + | Арифметичні оператори - додавання (+), віднімання (-), множення (*), і ділення (/). Ці оператори працюють стандартним способом.<br/><br/> | ||
| + | '''Модуль (%)'''<br/> | ||
| + | Оператор модуля використовується наступним чином:<br/> | ||
| + | Var1% var2<br/> | ||
| + | Оператор модуля повертає перший операнд за модулем другого операнд, тобто var1 за модулем var2, де var1 і var2 - змінні. Функція за модулем - це залишковий член від ділення var1 на var2. Наприклад, 12% 5 повертається 2.<br/><br/> | ||
| + | '''Інкремент (+ +)'''<br/> | ||
| + | Оператор інкремент використовується наступним чином:<br/> | ||
| + | var + + або + + var<br/> | ||
| + | Цей оператор збільшує його операнд і повертає значення. Якщо використовуваний постфіксом, з оператором після операнда (наприклад x + +), то повертає значення перед збільшенням. Якщо використовуваний префікс з оператором перед операндом (наприклад + + x), то повертає значення після збільшення.<br/> | ||
| + | Наприклад, якщо x - 3, то твердження<br/> | ||
| + | y = x + +<br/> | ||
| + | Збільшує x до 4 і привласнює y рівне 3.<br/> | ||
| + | Якщо x - 3, то твердження<br/> | ||
| + | y = + + x<br/> | ||
| + | Збільшує x до 4 і привласнює y рівне 4.<br/><br/> | ||
| + | '''Декремент (-)'''<br/> | ||
| + | Оператор декремента використовується наступним чином:<br/> | ||
| + | var - або - var<br/> | ||
| + | Цей оператор зменшує його операнд і повертає значення. Якщо використовуваний постфіксом (наприклад x -) то повертає значення перед зменшенням. Якщо використовуваний префікс (наприклад, - x), то повертає значення після зменшення.<br/> | ||
| + | Наприклад, якщо x - 3, то твердження<br/> | ||
| + | y = x -<br/> | ||
| + | Зменшує x до 2 і привласнює y рівне 3.<br/> | ||
| + | Якщо x - 3, то твердження y = - x<br/> | ||
| + | Зменшує x до 2 і привласнює y рівне 2.<br/><br/> | ||
| + | '''Унарні віднімання (-)'''<br/> | ||
| + | Унарний оператор віднімання повинен передувати його операндів. Наприклад,<br/> | ||
| + | x =-x<br/> | ||
| + | Віднімає значення x; наприклад, якщо б x був рівний 3, то став би рівним -3.<br/><br/> | ||
| + | '''Побітові Оператори'''<br/> | ||
| + | Побітові оператори впливають на операнди як набір бітів (0 і 1). Наприклад, десяткове число 9 має бінарне представлення 1001. Побітові оператори виконують дії на таких двійкових представленнях, але вони повертають стандартне JavaScript чисельне значення.<br/><br/> | ||
| + | '''Побітові Логічні оператори'''<br/> | ||
| + | Побітові логічні оператори працюють таким чином:<br/> | ||
| + | ____* Операнди перетворені в 32-бітові цілі числа, і вирази рядків бітів (0 і 1). | ||
| + | ____* Кожен біт в першому операнді з'єднаний з відповідним бітом у другому операнді: перший біт до першого біту, другий біт до другого біту, і так далі. | ||
| + | ____* Оператор застосовується до кожної пари бітів, і результат створений побітовий.<br/><br/> | ||
| + | ''Побітовi оператори:''<br/> | ||
| + | ____* Побітове І & повертає 1, якщо обидва операнди 1.<br/> | ||
| + | ____* Побітове АБО | повертає 1, якщо будь-який операнд 1.<br/> | ||
| + | ____* Виключне побітове АБО ^ повертає 1, якщо є 1 але не обидва операнди 1.<br/> | ||
| + | Наприклад, бінарне представлення 9 - 1001, і бінарне представлення 15 - 1111. Так, коли побітові оператори застосовуються до цих значень, то результати виглядають наступним чином:<br/> | ||
| + | ____* 15 & 9 повертає 9 (1111 & 1001 = 1001)<br/> | ||
| + | ____* 15 | 9 повертає 15 (1111 | 1001 = 1111)<br/> | ||
| + | ____* 15 ^ 9 повертає 6 (1111 ^ 1001 = 0110)<br/> | ||
| + | |||
| + | |||
| + | '''''Оператори присвоювання (=, +=, -=, *=, /=)''''' | ||
| + | |||
| + | Оператор присвоює значення лівому операнду, заснованому на значенні правого операнда. Основний оператор присвоювання рівність (=), який присвоює значення правого операнда лівому операнду. Тобто x = y приписує значення y до x (значення у присвоюється х). | ||
| + | |||
| + | Інші операторивиглядають наступним чином: | ||
| + | <ul> | ||
| + | <li>Додавання, конкатенація: '''x += y''' означає '''x = x + y''' </li> | ||
| + | <li>Віднімання: '''x -= y''' означає '''x = x - y''' </li> | ||
| + | <li>Множення: '''x *= y''' означає '''x = x * y''' </li> | ||
| + | <li>Ділення: '''x /= y''' означає '''x = x / y''' </li> | ||
| + | <li>Обчислення залишку від ділення: '''x %= y''' означає '''x = x % y''' </li> | ||
| + | </ul> | ||
| + | <br> | ||
| + | Є додаткові оператори присвоювання для побітових операторів | ||
| + | <ul> | ||
| + | <li>Побітовий зсув вліво: '''x <<= y''' означає '''x = x << y''' </li> | ||
| + | <li>Побітовий зсув праворуч: '''x >> = y''' означає '''x = x >> y''' </li> | ||
| + | <li>Побітовий зсув вправо із заповненням нулями '''x >>>= y''' означає '''x = x >>> y''' </li> | ||
| + | <li>Побітове AND '''x &= y''' означає '''x = x & y''' </li> | ||
| + | <li>Виключне побітове АБО '''x ^ = y''' означає '''x = x ^ y''' </li> | ||
| + | <li>Побітове OR '''x |= y''' означає '''x = x | y''' </li> | ||
| + | </ul> | ||
| + | |||
| + | |||
<TABLE BORDER = 1 align = center bordercolor = darkblue> | <TABLE BORDER = 1 align = center bordercolor = darkblue> | ||
| − | <CAPTION ALIGN = Top> Основні оператори мови JavaScript у порядку спадання </CAPTION> | + | <CAPTION ALIGN = Top> '''''Основні оператори мови JavaScript у порядку спадання''''' </CAPTION> |
<TR> | <TR> | ||
| Рядок 90: | Рядок 176: | ||
<TD> Присвоювання операцій </TD> | <TD> Присвоювання операцій </TD> | ||
</TR> | </TR> | ||
| − | + | </TABLE> | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
Версія за 13:35, 13 квітня 2010
Оператори
JavaScript має арифметичні, рядкові та логічні оператори. Має, і бінарні і унарні оператори. Бінарний оператор вимагає двох операндів, унарний перед оператором і одним після оператора:
Operand1 operator operand2
Наприклад, 3 + 4 or x * y
Унарний оператор вимагає одного операнда, до або після оператора:
operator operand
Або
operand operator
Наприклад x + + або + + x.
Арифметичні Оператори
Арифметичні оператори беруть чисельні значення (літерали або змінні) як їх операнди і повертають числове значення.
Стандартні Арифметичні Оператори
Арифметичні оператори - додавання (+), віднімання (-), множення (*), і ділення (/). Ці оператори працюють стандартним способом.
Модуль (%)
Оператор модуля використовується наступним чином:
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.
Побітові Оператори
Побітові оператори впливають на операнди як набір бітів (0 і 1). Наприклад, десяткове число 9 має бінарне представлення 1001. Побітові оператори виконують дії на таких двійкових представленнях, але вони повертають стандартне JavaScript чисельне значення.
Побітові Логічні оператори
Побітові логічні оператори працюють таким чином:
____* Операнди перетворені в 32-бітові цілі числа, і вирази рядків бітів (0 і 1).
____* Кожен біт в першому операнді з'єднаний з відповідним бітом у другому операнді: перший біт до першого біту, другий біт до другого біту, і так далі.
____* Оператор застосовується до кожної пари бітів, і результат створений побітовий.
Побітовi оператори:
____* Побітове І & повертає 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)
Оператори присвоювання (=, +=, -=, *=, /=)
Оператор присвоює значення лівому операнду, заснованому на значенні правого операнда. Основний оператор присвоювання рівність (=), який присвоює значення правого операнда лівому операнду. Тобто x = y приписує значення y до x (значення у присвоюється х).
Інші операторивиглядають наступним чином:
- Додавання, конкатенація: x += y означає x = x + y
- Віднімання: x -= y означає x = x - y
- Множення: x *= y означає x = x * y
- Ділення: x /= y означає x = x / y
- Обчислення залишку від ділення: x %= y означає x = x % y
Є додаткові оператори присвоювання для побітових операторів
- Побітовий зсув вліво: x <<= y означає x = x << y
- Побітовий зсув праворуч: x >> = y означає x = x >> y
- Побітовий зсув вправо із заповненням нулями x >>>= y означає x = x >>> y
- Побітове AND x &= y означає x = x & y
- Виключне побітове АБО x ^ = y означає x = x ^ y
- Побітове OR x |= y означає x = x | y
| Оператор | Виконувана операція |
|---|---|
| . | Доступ до властивості або методу обекту |
| [ ] | Доступ до елементу масиву |
| ( ) | Виклик функції |
| ++ | Приріст (Інкримент) |
| -- | Зменншення (Декримент) |
| - | Унарний мінус |
| ! | Заперечення (Логічне NOT) |
| delete | Видалення властивості обекту |
| new | Створення екземпляру обекта |
| typeof | Повертае тип операнда |
| void | Повертае невизначене значення |
| *, /, % | Арифметичне множення, ділення, модуль |
| +, - | Арифметичне додавання, віднімання |
| + | Конкатинація рядків |
| <, <=, >, >= | Меньше, меньше рівне, більше, більше рівне |
| ==, != | Перевірка рівності та нерівності |
| ===, !== | Перевірка ідентичності (тобто рівності або нерівності без перетворення типу операндів) |
| && | Логічний AND (другий операнд обраховуеться, якщо перший дорівнюе TRUE) |
| || | Логічний OR (другий операнд обраховуеться, якщо перший дорівнюе FALSE) |
| = | Присвоювання |
| +=, -=, *=, /= | Присвоювання операцій |