ДОВІДКОВЕ КЕРІВНИЦТВО З JAVASCRIPT

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

Є виразом, який приписує x значення 7. Цей вираз обчислює 7. Такі вирази використовують оператори присвоєння. З іншого боку, вираз

Просто обчислює 7; воно не виконує присвоєння. Оператори, що використовуються в таких виразах, згадуються просто як оператори .

Умовні вирази

Умовний вираз може мати одну з двох значень, що ґрунтуються на умові. Синтаксис

Якщоумоваістинно, то вираз має значенняval1, інакше має значенняval2.

Наприклад, status = (age > = 18)? "adult" : "minor" Це твердження надає значення "adult" змінної status, якщо age дорівнює 18 або більше 18. Інакше, приписує значення "minor" змінної status.

Оператори привласнення (=, + =, - =, * =, / =)

Оператор надає значення лівого операнда, заснованого на значенні правого операнда. Основний оператор присвоювання рівність (=), який надає значення правого операнда лівому операнду. Тобто 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
  • Виключаюче побите АБОx^=y означає x = x ^ y
  • Побітовий АБОx=y означає x = x y
  • Operand1 operator operand2

    Наприклад, 3 + 4 or x * y

    Унарний оператор вимагає одного операнда до або після оператора:

    Арифметичні оператори

    Арифметичні оператори приймають чисельні значення (літерали або змінні) як їх операнди та повертають числове значення.

    Стандартні Арифметичні Оператори

    Стандарт Арифметичні оператори - додавання (+), віднімання (-), множення (*), і поділ (/). Ці оператори працюють стандартним способом.

    Оператор модуля використовується так: Var1 % var2

    Оператор модуля повертає перший операнд по модулю другого операнд, тобто var1 по модулю var2 де var1 і var2 - змінні. Функція по модулю - це залишковий член від поділу var1 на var2. Наприклад, 12% 5 повертається 2.

    Оператор інкримент використовується так: var++ або ++var

    Цей оператор збільшує його операнд та повертає значення. Якщо постфікс, з оператором після операнда (наприклад x ++), то повертає значення перед збільшенням. Якщо префікс, що використовується з оператором перед операндом (наприклад, ++ x), то повертає значення після збільшення.

    Наприклад, якщо x - 3, то твердження

    Збільшує x до 4 і надає y рівне 3.

    Якщо x – 3, то твердження

    Збільшує xдо 4 і надає y рівне 4.

    Оператор декременту використовується так:

    Цей оператор зменшує його операнд та повертає значення. Якщо постфікс (наприклад x--), що використовується, то повертає значення перед зменшенням. Якщо префікс, що використовується (наприклад, --x), то повертає значення після зменшення.

    Наприклад, якщо x - 3, то твердження

    Зменшує x до 2 і надає y рівне 3.

    Якщо x – 3, то твердження

    Зменшує x до 2 і надає y рівне 2.

    Унарне віднімання (-)

    Унарний оператор віднімання має передувати його операнду. Наприклад,

    Віднімає значення x; наприклад, якби x дорівнював 3, то став би рівним -3.

    Побітові Оператори

    Побітові Логічні оператори

    Побітові логічні оператори працюють так:

    • Операнди перетворені на 32-бітові цілі числа і вирази рядків бітів (0 і 1).
    • Кожен біт у першому операнді з'єднаний з відповідним бітом у другому операнді: перший біт до першого біта, другий біт до другого біта, і так далі.
    • Оператор застосовується до кожної пари бітів і результат створений побітовим.

    Побітові оператори:

    • Побітовий & повертає 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)

    ПобітовіОператори зсуву

    Побітові оператори зсуву:

    • Зсунути вліво (>)
    • Зсув праворуч із заповненням нулями (>>>)

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

    Оператори зсуву перетворять операнди до 32-бітове ціле число, і повертають результат того самого типу що і лівий оператор.

    Зсунути вліво (>)

    Зсув вправо заповнює позиції, що звільнилися зліва, значенням самого лівого біта вихідного значення.

    Наприклад, 9 >> 2 повертає 2, тому що 1001 зсувається на два біти вправо і стає 10, що дорівнює дисетеричній системі 2. Аналогічно, -9 >> 2 повертає -3 тому, що знак зберігається.

    Зсув праворуч із заповненням нулями (>>>)

    Зсув праворуч із заповненням нулями працює аналогічно зрушенню вліво, лише у протилежному напрямку.

    Наприклад, 19>>>2 повертає 4, тому що 10011 зсувається на два біти вправо і стають 100, що дорівнює в дисятеричній системі 4. Для postive чисел, нуль - заповнює правий зсув, і поширюється знак зрушується вправо видає результат.

    Логічні оператори

    Логічні оператори набувають логічних (Булевих) значень як операнди. Вони повертають логічне значення. Логічні значення true(істина) та false(брехня).

    Використання: expr1 && Expr2

    Логічний "і" повертає операторtrue, якщо обидва логічні вирази іexpr1 і expr2true. Інакше повертаєтьсяfalse.

    Використання: expr1 expr2

    Логічний "або"повертає операторtrue, якщо хоча б один з логічних виразів або expr1 або expr2true. Якщо і expr1 і expr2false, це повертаєтьсяfalse.

    Логічний оператор "ні" - унарний оператор, який заперечує вираз операнда expr. Тобто якщо exprtrue, то повертаєfalse, і якщо exprfalse, то повертаєtrue.

    Обчислення.

    Оскільки логічні висловлювання обчислюються зліва направо, всі вони перевірені для можливого обчислення " короткої ланцюга " , використовуючи таке правило:

    • false && Який-небудь - короткий ланцюг, оцінений як false.
    • true Який-небудь - короткий ланцюг, оцінений як true.

    Логічне правило гарантує, що ці обчислення завжди будуть правильними.

    Оператори Порівняння (==, >, >, = ): повертає true, якщо лівий операнд більший за правий операнд. Приклад: x>y повертає true, якщо x більше, ніж y.
  • Більше або дорівнює ніж (>=):повертає true, якщо лівий операнд більше ніж або дорівнює правому операнду. Приклад: x>=y повертає true, якщо x більше або дорівнює ніж y.
  • Менше ніж (
  • Оператори Рядки

    На додаток до операторів порівняння, які можуть використовуватися на значеннях рядків, оператор конкатенації (+) підсумовує два рядки разом, повертаючи інший рядок, який є з'єднанням двох рядків операнда. Наприклад,

    Оператор просвоювання += може використовуватися, щоб конкатенувати рядки. Наприклад, якщо змінний mystring - рядок, який має значення "alpha", потім вираз обчислює як "alphabet" і приписує це значення mystring.

    Старшинство Оператора

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

    Старшинство операторів, від найнижчого до найвищого будуть наступні: Кома, Присвоєння =+=-=*=/=%= >=>>>=&=^== Вибір за умовою ? : Логічне АБО Логічне І && Побітові АБО Побітовий виключне ^ Побітове І & Нерівність != Рівність/Нерівність == != Порівняння > = Побітовий зсув > >>> Додавання/віднімання + - Помножте/розподіл * / % Заперечення/доповнення/унарний мінус/інкримент/дикримент !