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

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

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

Нижче перераховані всі можливі комбінації оператора присвоювання й інших операторів:

Оператор Опис

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

+= Збільшення чисельного значення або злиття рядків

-= Зменшення чисельного значення

*= Множення

/= Розподіл

%= Вычисление остатка от деления

>>= Зсув управо

>>>= Зсув управо з заповненням що звільняються розрядів нулями

<<= Зсув уліво

| = АБО

&= И

^= щО ВИКЛЮЧАЄ АБО

Приклад застосування оператора += для збільшення вмісту числовий перемінної.

Спочатку вирішимо цю задачу без використання даного оператора. Нижче оголошене перемінна з ім'ям nCounter і привласнене їй початкове значення 1, а потім збільшене це значення на 5:

var nCounter = 1;

nCounter = nCounter + 5;

Тепер зробимо те ж саме, але по-другому:

var nCounter = 1;

nCounter += 5;

Як очевидно, другий засіб коротше першого.

Для того щоб зрушити вміст перемінної на трьох розряду вправо, можна скористатися оператором >>=, як це зроблено в такому фрагменті вихідного тексту:

nCounter >>= 3;

Результат при цьому буде такий же, як і при виконанні такого рядка:

nCounter = nCounter >> 3;

1.3.8. Умовні оператори

Оператор if-else

У JavaScript передбачений умовний оператор if-else, що дозволяє виконувати різні програмні рядки в залежності від умови.

Загальний вид оператора if-else поданий нижче:

if (умова) рядок 1 [else

рядок 2]

Частина оператора, виділена квадратними скобками, є необов'язкової. При виконанні цього оператора оцінюється умова, задана в круглих скобках після ключового слова if. Якщо в результаті оцінки умови утворилося логічне значення true, виконується рядок 1. Якщо ж утворилося значення false, те виконується рядок 2 (у тому випадку, коли вона є присутнім).

Оператор if-else може бути вкладеним. Якщо в рядку 1 або рядку 2 необхідно розташувати декілька операторів, їх варто виділити фігурними скобками:

if (nYourAge < 18)

{

bAccessDenied = true;

szNextPage = "byel8.html";

}

else if (nYourAge > 99)

{

bAccessDenied = true;

szNextPage = "bye99.html";

}

else

{

bAccessDenied = false;

szNextPage = "welcome. html";

}

Спочатку оцінюється умова (nYourAge < 18). Якщо вміст перемінної nYourAge менше 18, перемінної bAccessDenied присвоюється значення true, а перемінної szNextPage - текстовий рядок "byel8.html".

Потім уміст nYourAge дорівнюється з числом 99. Якщо перемінна nYourAge має значення, більше чим 99, у перемінну bAccessDenied записується значення true, а в перемінну szNextPage - текстовий рядок "bye99. html".

Нарешті, якщо жодне з двох умов не було виконано, тобто значення перемінної nYourAge знаходиться в інтервалі від 18 до 99, у перемінну bAccessDenied записується значення false, а в перемінну SzNextPage - текстовий рядок "welcome. html".

Оператор ?

Існує також спеціальний тип умовного оператора, що називається оператором ? :. Цей оператор у загальному виді записується так:

вираження ? рядок 1 : рядок 2

При обчисленні оператора ? : спочатку оцінюється логічне вираження, розташоване в лівій частині. Якщо воно дорівнює true, виконується рядок 1, а якщо false - рядок 2.

Нижче приведений приклад використання умовного оператора ? : для присвоєння значення перемінної bAccessDenied у залежності від умісту перемінної nYourAge:

bAccessDenied =

(nYourAge < 18 || nYourAge > 99) ? true : false;

Якщо значення перемінної nYourAge знаходиться в інтервалі від 18 до 99. перемінної bAccessDenied присвоюється значення true, а якщо воно не потрапляє в цей інтервал - false. Традиційне рішення цієї задачі за допомогою оператора else-if зайняло б більше місця:

if(nYourAge < 18 || nYourAge > 99)

bAccessDenied = true;

else

bAccessDenied = false;

У приведених вище прикладах указувалася складова умова:

(nYourAge < 18 || nYourAge > 99)

Відповідно до таблиці старшинства операторів, що можна знайти нижче в цій главі, оператор || обчислюється після операторів < і >. Для вказівки порядку обчислення можна використовувати скобки:

((nYourAge < 18) || (nYourAge > 99))