JavaScript: Оператори. Оператори інкремента і декремента

Жарознижуючі засоби для дітей призначаються педіатром. Але бувають ситуації невідкладної допомоги при лихоманці, коли дитині потрібно дати ліки негайно. Тоді батьки беруть на себе відповідальність і застосовують жарознижуючі препарати. Що дозволено давати дітям грудного віку? Чим можна збити температуру у дітей старшого віку? Які ліки найбезпечніші?

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

Щоб бути хорошим розробником, мати високі навички в математиці не обов'язково, проте для цього важливо знати, які типи операцій доступні в JavaScript і як використовувати їх для виконання практичних завдань.

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

Це керівництво розповість про арифметичні операторах, операторах присвоювання і порядку операцій з числовими даними JavaScript.

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

Арифметичні оператори - це символи, які визначають математичні операції і повертають результат. Наприклад, в 3 + 7 = 10 символ + визначає синтаксис операції додавання.

Багато операторів JavaScript знайомі вам з базової математики, але є також і кілька додаткових операторів.

Всі арифметичні оператори JavaScript представлені в наступній таблиці.

оператор синтаксис приклад визначення
додавання + x + y Сума x і y
віднімання x - y Різниця між x і y
множення * x * y Похідне x і y
розподіл / x / y Приватне x і y
модуль % x% y Залишок x / y
Зведення в ступінь ** x ** y x в ступені y
інкремент ++ x ++ x плюс один
декремент x- x мінус один

Додавання і віднімання

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

Знак плюса дозволяє складати числа, наприклад:

Крім операцій з простими числами JavaScript дозволяє привласнювати числа змінним і виконувати з ними обчислення. Для прикладу можна привласнити числові значення змінним x і y, а результат помістити в z.

// Assign values ​​to x and y
let x = 10;
let y = 20;
// Add x and y and assign the sum to z
let z = x + y;
console.log (z);
30

// Assign values ​​to x and y
let x = 10;
let y = 20;
// Subtract x from y and assign the difference to z
let z = y - x;
console.log (z);
10

// Assign values ​​to x and y
let x = -5.2;
let y = 2.5;
// Subtract y from x and assign the difference to z
let z = x - y;
console.log (z);
-7.7

В JavaScript є одна цікава особливість, яку слід враховувати і знати, - це результат додавання числа і рядки. Ми знаємо, що 1 + 1 повинна дорівнювати 2, але це рівняння видасть несподіваний результат.

let x = 1 + "1";
console.log (x);
typeof x;
11
"String"

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

Додавання і віднімання в JavaScript часто використовуються для прокрутки панелі навігації.

function scrollToId () (
const navHeight = 60;
window.scrollTo (0, window.pageYOffset - navHeight);
}
window.addEventListener ( "hashchange", scrollToId);

В цьому випадку панель буде прокручуватися на 60 пікселів від id.

Множення і ділення

Оператори множення і ділення JavaScript, щоб знайти потрібну похідного і приватного числових значень.

Зірочка є оператором множення.

// Assign values ​​to x and y
let x = 20;
let y = 5;
// Multiply x by y to get the product
let z = x * y;
console.log (z);
100

Множення можна використовувати для розрахунку ціни товару після введення податку з продажів.

const price = 26.5; // Price of item before tax
const taxRate = 0.082; // 8.2% tax rate
// Calculate total after tax to two decimal places
let totalPrice = price + (price * taxRate);
totalPrice.toFixed (2);
console.log ( "Total:", totalPrice);
Total: 28.67

Слеш - оператор ділення.

// Assign values ​​to x and y
let x = 20;
let y = 5;
// Divide y into x to get the quotient
let z = x / y;
console.log (z);
4

Розподіл особливо корисно при розрахунку часу, наприклад, при обчисленні кількості годин або відсотка правильних відповідей в тесті.

Модуль числа

Модуль - ще один арифметичний оператор, менш популярний, ніж попередні. Представлений символом%. Він повертає залишок при діленні першого числа на друге.

Наприклад, ми знаємо, що 9 ділиться на 3 без залишку:

Модуль числа дозволяє визначити парне або непарне число, наприклад:

// Initialize function to test if a number is even
const isEven = x => (
// If the remainder after dividing by two is 0, return true
if (x% 2 === 0) (
return true;
}
// If the number is odd, return false
return false;
}
// Test the number
isEven (12);
true

У цьому прикладі 12 ділиться на 2, отже, це парне число.

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

Зведення в ступінь

Піднесення до степеня - один з найновіших операторів JavaScript. Синтаксис зведення в ступінь - дві зірочки поспіль (**).

Наприклад, 10 в п'ятого ступеня (10 ^ 5) записується так:

10 ** 5;
100000

Операція 10 ** 5 має той же результат, що 10 * 10, повторена 5 разів.

10 * 10 * 10 * 10 * 10;

Також цю операцію можна записати за допомогою методу Math.pow ().

Math.pow (10, 5);
100000

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

Інкремент і декремент

Оператори інкремента і декремента збільшують або зменшують числове значення змінної на одиницю. Вони представлені двома плюсами (++) або двома мінусами (-) і часто використовуються в циклах.

Зверніть увагу: оператори інкремента і декремента можуть використовуватися тільки з перемінними. Спроба використовувати їх з простими числами призведе до помилки.

7++
Uncaught ReferenceError: Invalid left-hand side expression in postfix operation

Оператори інкремента і декремента можна класифікувати як префіксние і постфіксні операції, в залежності від того, де по відношенню до змінної розміщений оператор.

Префіксний інкремент записується як ++ х.

// Set a variable
let x = 7;

let prefix = ++ x;
console.log (prefix);
8

Значення х збільшилася на 1. Постфіксний інкремент пишеться як у ++.

// Set a variable
let y = 7;
// Use the prefix increment operation
let postfix = y ++;
console.log (postfix);
7

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

let y = 7;
y ++;
y ++;
console.log (y);
8

Найчастіше ці оператори зустрічаються в циклах. В даному циклі for оператор запускається 10 разів, починаючи з 0.

// Run a loop ten times
for (let i = 0; i< 10; i++) {
console.log (i);
}
0
1
2
3
4
5
6
7
8
9

У цьому прикладі ітерація циклу виконується за допомогою оператора інкремента.

Простіше кажучи, х ++ можна сприймати як скорочення від х = х + 1, а х-як скорочення від х = х - 1.

Оператори присвоювання

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

// Assign 27 to age variable
let age = 27;

Крім стандартного оператора присвоювання JavaScript має складові оператори присвоювання, які комбінують арифметичний оператор з оператором =.

Наприклад, оператор додавання почне з початкового значення і додасть до нього нове значення.

// Assign 27 to age variable
let age = 27;
age + = 3;
console.log (age);
30

По суті, age + = 3 - те ж саме, що і age = age + 3.

Всі арифметичні оператори можна об'єднувати з оператором присвоювання. Нижче наведена довідкова таблиця операторів присвоювання в JavaScript.

Складові оператори присвоювання часто використовуються в циклах, як інкремент і декременти.

пріоритет операторів

Оператори виконуються в порядку пріоритетності, як і в звичайній математиці.

Наприклад, множення має вищий пріоритет, ніж складання.

// First multiply 3 by 5, then add 10
10 + 3 * 5;
25

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

// First add 10 and 3, then multiply by 5
(10 + 3) * 5;
65

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

Інкремент / декремент, множення / ділення і складання / віднімання мають однаковий рівень пріоритету.

Пріоритет мають не тільки арифметичні оператори, а й оператори присвоювання, логічні оператори, умовні операториі т.д. Повний списокможна подивитися .

Tags:

Вирази в JavaScriptявляють собою комбінації операндіві операторів.

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

Мал. 1. Структура вираження в JavaScript

операнди- це дані, що обробляються сценарієм JavaScript. Як операнди можуть бути як прості типи даних, так і складні, а також інші вирази.

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

Залежно від кількості операндів розрізняють наступні типи операторів:
унарний- в операції бере участь один операнд;
бінарний- в операції беруть участь два операнда;
тернарний- комбінує три операнда.

Найпростіша форма вираження - літерал- щось, що обчислюється саме в себе, наприклад, число 100, рядок "Hellow world". Мінлива теж може бути виразом, так як вона обчислюється в присвоєне їй значення.

Вирази і оператори в JavaScript

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

арифметичні операторипризначені для виконання математичних операцій, вони працюють з числовими операндами (або змінними, що зберігають числові значення), повертаючи в якості результату числове значення.

Якщо один з операндів є рядком, інтерпретатор JavaScript спробує перетворити його в числовий тип, а після виконати відповідну операцію. Якщо перетворення типів виявиться неможливим, буде отриманий результат NaN (не числом).

Таблиця 1. Арифметичні оператори
Оператор / Операція опис пріоритет
+ Додавання Складає числові операнди. Якщо один з операндів - рядок, то результатом виразу буде рядок. 12
- Віднімання Виконує віднімання другого операнда з першого. 12
- Унарний мінус Перетворює позитивне число в негативне, і навпаки. 14
* Множення Примножує два операнда. 13
/ Розподіл Ділить перший операнд на другий. Результатом поділу може бути як ціле, так і число з плаваючою крапкою. 13
% Розподіл по модулю (залишок від ділення) Обчислює залишок, одержуваний при целочисленном розподілі першого операнда на другий. Застосовується як до цілих чисел, так і числам із плаваючою крапкою. 13
var x = 5, y = 8, z; z = x + y; // поверне 13 z = x - y; // поверне -3 z = - y; // поверне -8 z = x * y; // поверне 40 z = x / y; // поверне 0.625 z = y% x; // поверне 3

2. Оператори присвоювання

Оператори присвоюваннявикористовуються для присвоювання значень змінним. Комбіновані оператори дозволяють зберегти початкове і подальше значення в однієї змінної.

var a = 5; // присвоюємо змінної a числове значення 5 var b = "hellow"; // зберігаємо в змінній b рядок hellow var m = n = z = 10; // присвоюємо змінним m, n, z числове значення 10 x + = 10; // рівнозначно x = x + 10; x - = 10; // рівнозначно x = x - 10; x * = 10; // рівнозначно x = x * 10; x / = 10; // рівнозначно x = x / 10; x% = 10; // рівнозначно x = x% 10;

3. Оператори інкремента і декремента

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

var x = y = m = n = 5, z, s, k, l; z = ++ x * 2; / * В результаті обчислень поверне значення z = 12, x = 6, тобто значення x спочатку збільшується на 1, а після виконується операція множення * / s = y ++ * 2; / * В результаті обчислень поверне значення s = 10, y = 6, тобто спочатку виконується операція множення, а після в змінної y зберігається збільшене на 1 значення * / k = --m * 2; // поверне значення k = 8, m = 4 l = n-- * 2; // поверне значення l = 10, n = 4

4. Оператори порівняння

Оператори порівняннявикористовуються для зіставлення операндів, результатом виразу може бути одне з двох значень - true або false. Операндами можуть бути не тільки числа, а й рядки, логічні значенняі об'єкти. Однак порівняння може виконуватися тільки для чисел і рядків, тому операнди, які не є числами або рядками, перетворюються.

Якщо обидва операнда не можуть бути успішно перетворені в числа або рядки, оператори завжди повертають false.

Якщо обидва операнда є рядками / числами або можуть бути перетворені в рядки / числа, вони будуть порівнюватися як рядки / числа.

Якщо один операнд є рядком / перетворюється в рядок, а інший є числом / перетворюється в число, то оператор спробує перетворити рядок в число і виконати порівняння чисел. Якщо рядок не є числом, вона перетворюється в значення NaN і результатом порівняння буде false.

Найчастіше операції порівняння використовуються при організації розгалужень у програмах.

Таблиця 4. Оператори порівняння
Оператор / Операція опис пріоритет
== Рівність Перевіряє дві величини на збіг, допускаючи перетворення типів. Повертає true, якщо операнди збігаються, і false, якщо вони різні. 9
! = Нерівність Повертає true, якщо операнди не рівні 9
=== Ідентичність Перевіряє два операнда на «ідентичність», керуючись суворим визначенням збіги. Повертає true, якщо операнди рівні без перетворення типів. 9
! == Неідентичність Виконує перевірку ідентичності. Повертає true, якщо операнди не рівні без перетворення типів. 9
> Більше Повертає true, якщо перший операнд більше другого, в іншому випадку повертає false. 10
> = Більше або дорівнює Повертає true, якщо перший операнд не менш другого, в іншому випадку повертає false. 10
Повертає true, якщо перший операнд менше другого, в іншому випадку повертає false. 10
Повертає true, якщо перший операнд не більш другого, в іншому випадку повертає false. 10
5 == "5"; // поверне true 5! = -5.0; // поверне true 5 === "5"; // поверне false false === false; // поверне true 1! == true; // поверне true 1! = True; // поверне false, так як true перетвориться в 1 3> Параметри -3; // поверне true 3> = "4"; // поверне false

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

Логічні операторидозволяють комбінувати умови, які повертають логічні величини. Найчастіше використовуються в умовному вираженні if.

(2 < 3) && (3===3); // вернет true, так как выражения в обеих скобках дают true (x < 10 && x >0); // поверне true, якщо значення x належить проміжку від 0 до 10! False; // поверне true

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

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

Таблиця 6. Побітові оператори
Оператор / Операція опис пріоритет
& Побітовий І Якщо обидва біти рівні 1, то результуючий біт буде дорівнює 1. В іншому випадку результат дорівнює 0. 8
| побітовий АБО Якщо один з операндів містить в позиції 1, результат теж буде містити 1 в цій позиції, в іншому випадку результат в цій позиції буде дорівнює 0. 6
^ Виключає Або Якщо одне, і тільки одне значення містить 1 в будь-якої позиції, то і результат буде містити 1 в цій позиції, в іншому випадку результат в цій позиції буде дорівнює 0. 7
~ Заперечення Виконується операція побітового заперечення над двійковим поданням значення виразу. Будь-яка позиція, яка містить 1 у вихідному виразі, замінюється на 0. Будь-яка позиція, яка містить 0 в вихідному виразі, стає рівною 0. Позитивні числа починаються з 0, негативні - з -1, тому ~ n == - (n + 1). 14
Оператор зрушує біти першого операнда вліво на число бітових позицій, встановлених другимоперандом. Для заповнення позицій праворуч використовуються нулі. Повертають результат того ж типу, що лівий операнд. 11
>> Побітове зрушення вправо Оператор зрушує біти першого операнда вправо на число бітових позицій, встановлених другим операндом. Цифри, зсунуті за межі діапазону, видаляються. Найстарший біт (32й) не змінюється, щоб зберегти знак результату. Якщо перший операнд позитивний, старші біти результату заповнюються нулями; якщо перший операнд негативний, старші біти результату заповнюються одиницями. Зрушення значення вправо на одну позицію еквівалентний поділу на 2 (з відкиданням залишку), а зрушення вправо на дві позиції еквівалентний поділу на 4 і т. Д. 11
>>> Побітовий зрушення вправо без урахування знака Оператор зрушує біти першого операнда вправо на число бітових позицій, встановлених другим операндом. Зліва додаються нулі незалежно від знака першого операнда. Цифри, зсунуті за межі діапазону, видаляються. 11
var x = 9, y = 5, z = 2, s = -5, result; // 9 еквівалентно 1001, 5 еквівалентно 0101 result = x & y; // поверне 1 (еквівалентно 0001) result = x | y; // поверне 13 (еквівалентно 1 101) result = x ^ y; // поверне 12 (еквівалентно 1100) result = ~ y; // поверне -6 (еквівалентно 1100) result = x<< y; // вернет 288 (эквивалентно 100100000) result = x >> Z; // поверне 2 (еквівалентно 10) result = s >>> z; // поверне 1073741822 (еквівалентно +111111111111111111111111111110)

7. Строкові оператори

Існує кілька операторів, які працюють з рядками особливим чином.

"1" + "10"; // поверне "110" "1" + 10; // поверне "110" 2 + 5 + "кольорових олівців"; // поверне "7 кольорових олівців" "Кольорових олівців" + 2 + 5; // поверне "Кольорових олівців 25" "1"> "10"; // поверне false "10"<= 10; // вернет true "СССР" == "ссср"; // вернет false x = "micro"; x+= "soft"; // вернет "microsoft"

8. Спеціальні оператори

Таблиця 8. Спеціальні оператори
Оператор / Операція опис пріоритет
. Звернення до властивості Здійснює доступ до властивості об'єкта. 15
, Множина обчислення Обчислює кілька незалежних виразів, записаних в один рядок. 1
Індексація масиву Здійснює доступ до елементів масиву або властивостей об'єкта. 15
() Виклик функції, угруповання Групує операції або викликає функцію. 15
typeof Визначення типу даних Унарний оператор, повертає тип даних операнда. 14
instanceof Перевірка типу об'єкта Оператор перевіряє, чи є об'єкт екземпляром певного класу. Лівий операнд повинен бути об'єктом, правий - повинен містити ім'я класу об'єктів. Результат буде true, якщо об'єкт, який зображено зліва, являє собою екземпляр класу, зазначеного справа, в іншому випадку - false. 10
in Перевірка наявності властивості Як лівого операнда повинна бути рядок, а правим - масив або об'єкт. Якщо ліве значення є властивістю об'єкта, повернеться результат true. 10
new Створення об'єкта Оператор створює новий об'єкт з невизначеними властивостями, потім викликає функцію-конструктор для його ініціалізації (передачі параметрів). Також може застосовуватися для створення масиву. 1
delete Видалення Оператор дозволяє видаляти властивість з об'єкта або елемент з масиву. Повертає true, якщо видалення пройшло успішно, в іншому випадку false. При видаленні елемента масиву його довжина не змінюється. 14
void Визначення вираження без значення, що повертається Унарний оператор, відкидає значення операнда і повертає underfined. 14
?: Операція умовного виразу Тернарний оператор, дозволяє організувати просте розгалуження. У вираженні беруть участь три операнда, перший повинен бути логічним значенням або перетворюватися в нього, а другий і третій - будь-якими значеннями. Якщо перший операнд дорівнює true, то умовний вираз прийме значення другого операнда; якщо false - третього. 3
document.write ( "hello world"); // виводить на екран рядок hello world i = 0, j = 1; // зберігає значення в змінних function1 (10, 5); // виклик функції function1 з параметрами 10 і 5 var year =; // створює масив з елементами typeof (a: 1); // поверне "object" var d = new Date (); // створюємо новий об'єкт за допомогою конструктора Date () d instanceof Date; // поверне true var mycar = (make: "Honda", model: "Accord", year: 2005); "Make" in mycar; // поверне true var obj = new Object (); // створює порожній об'єкт var food = [ "milk", "bread", "meat", "olive oil", "cheese"]; delete food; // видаляє четвертий елемент з масиву food x> 10? x * 2: x / 2; // повертає значення x * 2, якщо x> 10, в іншому випадку x / 2

9. Коментарі в JavaScript

Однорядковий коментар: перед текстом коментаря потрібно поставити символи //.

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

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

Старшинство операторів, від найнижчого до найвищого будуть наступні:

Присвоєння = + = - = * = / =% =<<=>>=>>>=&=^=|=

Вибір за умовою? :

Логічне АБО ||

Логічне І &&

Побітові АБО |

Побітовий виключає ^

Побітове І &

Нерівність! =

Рівність / Нерівність ==! =

порівняння<<=>> =

побітовий зрушення<<>>>>>

Додавання / віднімання + -

Помножите / ділення * /%

Заперечення / доповнення / унарний мінус / інкремент / декремент! ~ - ++ -

Виклик, передача параметрів ().

Зарезервовані ключові слова в JavaScript.

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

break false in this void

continue for new true while

delete function null typeof with

else if return var

Ключові слова JavaScript для майбутнього застосування

case debugger export super

catch default extends switch

class do finally throw

const enum import try

Слова, які варто уникати вживати, - це ті, які вже мають імена внутрішніх об'єктів або функцій JavaScript. Сюди включені слова, подібні String або parseInt.

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

var text = new String ( "This is a string object");

В цьому випадку ви отримаєте помилку, що повідомляє про те, що String не є об'єктом. Багато випадків використання попередньо існуючого ідентифікатора не є таким вже ясним.

Сценарії. Створення сценаріїв.

JavaScript є мовою сценаріїв (скриптів), який застосовують в основному для створення на Web-сторінках інтерактивних елементів. Його можна використовувати для побудови меню, перевірки правильності заповнення форм, зміни зображень або для чогось ще, що можна зробити на Web-сторінці. Якщо поглянути на GoogleMaps або службу GMail компанії Google, то можна зрозуміти, на що здатний сьогодні мова JavaScript.

Так як JavaScript є в даний час єдиною мовою сценаріїв, який підтримують всі основні браузери Web(InternetExplorer, Firefox, Netscape, Safari, Opera, Camino і т.д.), то він використовується дуже широко.

Код JavaScript зазвичай виконується Web-браузером клієнта, і в цьому випадку він називається сценарієм на боці клієнта. Але код JavaScript можна виконувати також на Web-сервері для формування документів HTML, втілюючи тим самим сценарій на стороні сервера. Хоча використання JavaScript зазвичай обмежується сценаріями на боці клієнта, він є також дуже потужним серверним мовою.

При створенні коду JavaScript потрібно фактично тільки текстовий редактор і Web-браузер. Знання HTML і CSS буде грати виразно позитивну роль, і якщо ви захочете використовувати навички JavaScript на Web-сайті, то знадобиться також Web-сайт. Якщо у вас вже є Web-сайт, то відмінно! Якщо немає, то існує безліч безкоштовних серверів, які можна використовувати для розміщення своїх сторінок.

Що стосується текстового редактора, то в Windows є редактор NotePad. Хоча цього буде достатньо для редагування JavaScript, HTML і CSS, більш потужний редактор, такий, наприклад, як EditPlus або інший, може виявитися більш зручним.

Ну, а тепер можна перейти до створення сценарію JavaScript!

Перш за все, необхідно дізнатися, як додати сценарій JavaScriptна сторінку HTML. Це можна зробити одним з двох способів: помістити теги Script на Web-сторінці і розташувати код JavaScript всередині цих тегів, або помістити весь код JavaScript в окремий файлі зв'язатися з ним за допомогою тега Script.

Будь-який з цих методів цілком припустимо, але вони мають різне призначення. Якщо є невеликий код, який буде використовуватися тільки на одній сторінці, то розміщення його між тегами Script буде хорошим рішенням. Якщо, проте, є великий фрагмент коду, який буде використовуватися на декількох сторінках, то, напевно, краще помістити цей код JavaScript в окремий файл і з'єднатися з ним. Це робиться для того, щоб не потрібно було завантажувати цей код щоразу при відвідуванні різних сторінок. Код завантажується один раз, і браузер зберігає його для подальшого використання. Це схоже на те, як використовуються каскадні таблиці стилів (CSS).

Нижче наведені приклади двох способів підключення коду JavaScript:

Функції сценаріїв.

Ви можете оформити фрагменти вихідного тексту в вигляді функції, викликаючи цю функцію в міру необхідності з різних місць сценарію JavaScript.

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

Загальний вигляд визначення функції представлений нижче:

function ім'я ([параметр 1] [, параметр 2] [..., параметр N])

рядки тіла функції

Всі параметри передаються функції за значенням. Тому функція не може змінити вміст змінних, переданих їй як параметри.

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

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

Оператори можуть автоматично перетворювати типи своїх операндів в міру необхідності. Наприклад, оператор множення * очікує отримати числа, тому вираз "2" * "3" вважається цілком припустимим завдяки тому, що інтерпретатор виконає неявне перетворення рядків у числа.

пріоритет операторів

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

У колонці Оператор трикрапкою показано розташування операндів щодо оператора.

У колонці А вказана асоціативність оператора. асоціативність- це порядок, в якому обробляються оператори з однаковим пріоритетом. Наприклад, оператор віднімання має асоціативність зліва направо, тому наступні два вирази еквівалентні:

X - y - z (x - y) - z

Оператор присвоєння має асоціативність справа наліво, тому наступні два вирази еквівалентні:

W = x = y = z w = (x = (y = z))

У колонці Про вказано кількість операндів.

У колонці Типи значень перед стрілкою вказані очікувані типи операндів, а після стрілки тип значення.

lval (скорочення від left value) - лівосторонній вираз. Це історичний термін, що позначає вираз, яке може бути присутнім зліва від оператора присвоювання. Лівобічними виразами є: змінні, властивості об'єктів і елементи масивів.

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

оператор Тип оператора А Про типи значень
(…) угруповання Відсутнє
1 будь → будь
… . …
… […]
new ... ()
оператор доступу
оператор доступу
new (зі списком аргументів)
зліва направо
зліва направо
Відсутнє
2
2
1
lval, lval → будь
lval, рядок або число → будь
конструктор → об'єкт
… ()
new ...
Виклик функції
new (без аргументів)
зліва направо
справа наліво
1
1
функція → будь
конструктор → об'єкт
… ++
… --
постфіксний інкремент
постфіксний декремент
Відсутнє
Відсутнє
1
1
lval → число
lval → число
! …
~ …
+ …
- …
++ …
-- …
delete ...
typeof ...
void ...
Логічне НЕ (інверсія)
Побітовое НЕ (інверсія)
унарний плюс
унарний мінус
префіксний інкремент
префіксний декремент
видалення
Визначає тип даних
Повернення невизначеного значення
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
1
1
1
1
1
1
1
1
1
будь → булево
ціле → ціле
число → число
число → число
lval → число
lval → число
lval → булево
будь → рядок
будь → undefined
… ** …
… * …
… / …
… % …
Зведення в ступінь
множення
розподіл
Розподіл із залишком
справа наліво
зліва направо
зліва направо
зліва направо
2
2
2
2
число, число → число
число, число → число
число, число → число
число, число → число
… + …
… - …
… + …
додавання
віднімання
конкатенація
зліва направо
зліва направо
зліва направо
2
2
2
число, число → число
число, число → число
рядок, рядок → рядок
… << …
… >> …
… >>> …
Зрушення бітів вліво
Зрушення бітів вправо зі збереженням знака
Зрушення бітів вправо із заповненням нулями
зліва направо
зліва направо
зліва направо
2
2
2
ціле, ціле → ціле
ціле, ціле → ціле
ціле, ціле → ціле
… < …
… <= …
… > …
… >= …
... in ...
... instanceof ...
Менше ніж
Менше або дорівнює
Більше ніж
Більше чи рівно
Перевірка наявності властивості
Перевірка на приналежність до даного типу
зліва направо
зліва направо
зліва направо
зліва направо
зліва направо
зліва направо
2
2
2
2
2
2
число, число → булево
число, число → булево
число, число → булево
число, число → булево
рядок, об'єкт → булево
об'єкт, конструктор → булево
… == …
… != …
… === …
… !== …
Так само
Не дорівнює
строго одно
Строго не дорівнює
зліва направо
зліва направо
зліва направо
зліва направо
2
2
2
2
будь-який, будь-→ булево
будь-який, будь-→ булево
будь-який, будь-→ булево
будь-який, будь-→ булево
… & … побітове І зліва направо 2 ціле, ціле → ціле
… ^ … Побітове виключає Або зліва направо 2 ціле, ціле → ціле
… | … Операція з привласненням
Операція з привласненням
Операція з привласненням
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
справа наліво
2
2
2
2
2
2
2
2
2
2
2
2
2
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
lval, будь → будь
yield ...
yield * ...
yield
yield *
справа наліво
справа наліво
1
1
... … розширення Відсутнє 1
… , … кома зліва направо 2 будь-який, будь-→ будь

Мова JavaScript підтримує принципи об'єктно-орієнтованого програмування. Всі об'єкти, які ви можете зустріти в роботі, можна розділити на три великі групи:

1. Вбудовані об'єкти мови. Ці об'єкти призначені для роботи з окремими типами даних або виконання типових завдань (наприклад, об'єкти Math, String, Date і ін.). Перед використанням вбудованих об'єктів найчастіше необхідно створити відповідний екземпляр цього об'єкта (крім Math).

2. Зовнішні стандартні об'єкти. Призначені для взаємодії зі стандартними елементами інтерфейсу та функціями браузера. Це такі об'єкти як window, document і event. Всі зовнішні об'єкти доступні в будь-якому місці скрипта і не вимагають створення екземплярів.

3. Користувальницькі об'єкти. Створюються розробником для якихось конкретних потреб. Створення власних об'єктів вимагає певних навичок і досвіду розробки.

Будь-який об'єкт містить в собі властивості і методи. Властивість об'єкта - це якийсь кількісний або якісних параметр, що визначає характеристики об'єкта. Метод об'єкта задає якусь дію, яке може виконати даний об'єкт. Якщо відволіктися від програмування і розглянути як об'єкт звичайної людини, то його властивостями буде "зростання", "вага", "колір очей", а методами - "є", "пити", "ходити" і т.д.

Звернутися до властивості або методу можна, вказавши їх ім'я та екземпляр об'єкта:

об'ект.свойство

об'ект.метод ()

Такий запис (через точку) дозволяє однозначно визначити екземпляр об'єкта, чиї властивості і методи ви хочете задіяти. На практиці, властивості використовуються так само, як звичайні змінні, а методи - як звичайні функції. Зверніть увагу, що ім'я методу повинно завжди закінчуватися дужками, навіть якщо ви не передаєте методу ніяких параметрів. наприклад:

// інтерпретатор викличе МЕТОД open ()

// інтерпретатор буде шукати ВЛАСТИВІСТЬ open,

// не знайдете його і видасть помилку

8. Спеціальні оператори в JavaScript.

?: Дозволяє Вам виконати просте "if ... then ... else"

Оцінює два вирази і повертає результат другого виразу.

delete позваляет Вам видаляти властивість об'єкта або елемент з певним індексом в масиві.

new позваляет Вам створювати зразок визначається користувачем типу об'єкта або одного з вбудованих типів об'єктів.

this Ключове слово, яке Ви можете використовувати, щоб звернутися до поточного об'єкту.

typeof Повертає рядок, що вказує тип неоціненої операнда.

void Оператор void визначає вираз, яке буде оцінено без повернення значення.

9. Пріоритети операторів в JavaScript.

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

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

Старшинство операторів, від найнижчого до найвищого будуть наступні:

Присвоєння = + = - = * = / =% =<<=>>=>>>=&=^=|=

Вибір за умовою? :

Логічне АБО ||

Логічне І &&

Побітові АБО |

Побітовий виключає ^

Побітове І &

Нерівність! =

Рівність / Нерівність ==! =

порівняння<<=>> =

побітовий зрушення<< >> >>>

Додавання / віднімання + -

Помножите / ділення * /%

Заперечення / доповнення / унарний мінус / інкремент / декремент! ~ - ++ -

Виклик, передача параметрів ().

Підтримайте проект - поділіться посиланням, спасибі!
Читайте також
Сбебранк (він же Ощадбанк) Сбебранк (він же Ощадбанк) Рішення проблем з ліцензією у Autocad Чи не запускається autocad windows 7 Рішення проблем з ліцензією у Autocad Чи не запускається autocad windows 7 Інструкція з використання PIN коду КріптоПро, під час підписання кількох документів - Інструкції - АТ Інструкція з використання PIN коду КріптоПро, під час підписання кількох документів - Інструкції - АТ "ПЕК-Торг"