JavaScript виконання коду JavaScript підключення зовнішнього файлу JavaScript console.log JavaScript змінні і константи JavaScript типи даних JavaScript операції зі змінними JavaScript перетворення даних JavaScript масиви JavaScript умовні конструкції JavaScript цикли JavaScript функції JavaScript область видимості змінних JavaScript замикання і функції IIFE JavaScript Паттерн Модуль JavaScript рекурсивні функції JavaScript перевизначення функцій JavaScript hoisting JavaScript передача параметрів за значенням і за посиланням JavaScript стрілочні функції JavaScript ООП Object JavaScript ООП вкладені об'єкти і масиви в об'єктах JavaScript ООП перевірка наявності і перебір методів і властивостей JavaScript ООП об'єкти у функціях JavaScript ООП конструктори об'єктів JavaScript ООП розширення об'єктів. prototype JavaScript ООП інкапсуляція JavaScript ООП Функція як об'єкт. Методи call і apply JavaScript ООП спадкування JavaScript ООП Ключове слово this JavaScript ООП Object destructuring JavaScript ООП класи JavaScript ООП Date. Робота з датами JavaScript Об'єкт Math. математичні операції JavaScript Об'єкт Array. Робота з масивами JavaScript ООП об'єкт Number JavaScript String JavaScript String Об'єкт RegExp. Регулярні вирази JavaScript String Регулярні вирази в методах String JavaScript String Синтаксис регулярних виразів JavaScript Робота з браузером і BOM JavaScript діалогові вікна JavaScript Історія браузера. об'єкт history JavaScript об'єкт location JavaScript об'єкт navigator JavaScript таймери JavaScript DOM Введення JavaScript DOM Об'єкт document. Пошук елементів JavaScript DOM Властивості об'єкта document JavaScript DOM Об'єкт Node. Навігація по DOM JavaScript DOM Створення, додавання і видалення елементів веб-сторінки JavaScript DOM Об'єкт Element. управління елементами JavaScript DOM Зміна стилю елементів JavaScript події. Введення в обробку подій. JavaScript події обробники JavaScript події. об'єкт Event JavaScript події. поширення подій JavaScript події миші JavaScript події клавіатури JavaScript FORMS. Форми і їх елементи JavaScript FORMS. Кнопки JavaScript FORMS. текстові поля JavaScript FORMS. Прапорці та перемикачі JavaScript FORMS. Список select JavaScript JSON JavaScript зберігання даних. cookie JavaScript зберігання даних. Web Storage JavaScript Collection. Ітератори JavaScript Collection. Генератори JavaScript Collection. Множина Set JavaScript Collection. Map JavaScript Collection. WeakSet і WeakMap JavaScript AJAX. XMLHttpRequest JavaScript AJAX. Відправка даних JavaScript AJAX. Promise в Ajax-запитах

JavaScript умовні конструкції


умовні конструкції

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


вираз if

Конструкція if перевіряє деяку умову і якщо ця умова вірна, то виконує деякі дії. Загальна форма конструкції if :

if(умова) дія;

наприклад:

var income = 100;
if(income > 50) alert("дохід більше 50");

Тут в конструкції if використовується така умова: income > 50 . Якщо ця умова повертає true , тобто змінна income має значення більше 50 , то браузер відображає повідомлення. Якщо ж значення income менше 50 , то ніякого повідомлення не відображається.

Якщо необхідно виконати за умовою набір інструкцій, то вони будуть розміщені в блок з фігурних дужок:

var income = 100;

if(income > 50){

    var message = "дохід більше 50";
    alert(message);

}

Причому умови можуть бути складними:

var income = 100;
var age = 19;

if(income < 150 && age > 18){
 
    var message = "дохід більше 50";
    alert(message);
}

Конструкція if дозволяє перевірити наявність значення. наприклад:

var myVar = 89;

if(myVar){
    // дія
}

Якщо змінна myVar має значення, то в умовній конструкції вона поверне значення true .

Але нерідко для перевірки значення змінної використовують альтернативний варіант - перевіряють на значення undefined :

if (typeof myVar != "undefined") {
    // дія
}

У конструкції if ми також можемо використовувати блок else . Даний блок містить інструкції, які виконуються, якщо умова після if помилкова, тобто рівна false :

var age = 17;

if(age >= 18){
 
    alert("Ви допущені до програми кредитування");
}
else{
    alert("Ви не можете брати участь в програмі, так як ваш вік менше 18");
}

За допомогою конструкції else if ми можемо додати альтернативну умову до блоку if :

var income = 300;
if(income < 200){
 
    alert("Дохід нижче середнього");
}
else if(income >= 200 && income <= 400){
     
    alert("Середній дохід");
}
else{
     
    alert("Дохід вище середнього");
}

В даному випадку виконається блок else if . При необхідності ми можемо використовувати кілька блоків else if з різними умовами:

if(income < 200){
 
    alert("Дохід нижче середнього");
}
else if(income>=200 && income<300){
     
    alert("Трохи нижче середнього");
}
else if(income>=300 && income<400){
     
    alert("Середній дохід");
}
else{
    alert("Дохід вище середнього");
}

Вірно чи невірно

У javascript будь-яка змінна може застосовуватися в умовних виразах, але не будь-яка змінна представляє тип boolean . І в зв'язку з цим виникає питання, що поверне та чи інша змінна - true або false ? Багато залежить від типу даних, який представляє змінна:

  • undefined повертає false
  • null повертає false
  • Boolean якщо змінна дорівнює false , то повертається false
  • Відповідно якщо змінна дорівнює true , то повертається true
  • Number Повертає false , якщо число дорівнює 0 або NaN (Not a Number), в інших випадках повертається true Наприклад, наступна змінна буде повертати false :
var x = NaN;

if(x){  // false
 
}

String Повертає false , якщо змінна дорівнює порожньому рядку, тобто її довжина дорівнює 0 , в інших випадках повертається true

var y = "";             // false - так як рядок порожній 
var z = "javascript";   // true - рядок не порожній 

Object завжди повертає true

var user = {name:"Tom"};            // true
var isEnabled = new Boolean(false)  // true
var car = {}                        // true

будівництво switch..case

Конструкція switch..case є альтернативою використанню конструкції if..else , if..else if і також дозволяє обробити відразу кілька умов:

var income = 300;

switch(income){
 
    case 100 : 
        console.log("Дохід рівний 100");
        break;
    case 200 : 
        console.log("Дохід рівний 200");
        break;
    case 300 : 
        console.log("Дохід рівний 300");
        break;

}

Після ключового слова switch в дужках йде порівнюваний вираз. Значення цього виразу послідовно порівнюється зі значеннями, поміщеними після оператора сase . І якщо збіг буде знайдено, то буде виконуватися певний блок сase .

В кінці кожного блоку сase ставиться оператор break , щоб уникнути виконання інших блоків.

Якщо ми хочемо також обробити ситуацію, коли збіг не буде знайдено, то можна додати блок default :

var income = 300;

switch(income){
 
    case 100 : 
        console.log("Дохід рівний 100");
        break;
    case 200 : 
        console.log("Дохід рівний 200");
        break;
    case 300 : 
        console.log("Дохід рівний 300");
        break;

    default: 
        console.log("Дохід невідомої величини");
        break;

}

тернарна операція

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

[перший операнд - умова] ? [другий операнд] : [третій операнд] .

Залежно від умови тернарна операція повертає другий або третій операнд:

якщо умова рівна true , то повертається другий операнд;

якщо умова рівна false , то третій.

наприклад:

var a = 1;
var b = 2;
var result = a < b ? a + b : a - b;
console.log(result); // 3

Якщо значення змінної a менше значення змінної b , то змінна result буде дорівнювати a + b . Інакше значення result буде дорівнювати a - b .


Наш партнер:
beta test mp3 playlist downloader