Роздрукувати сторінку
Главная \ Методичні вказівки \ Методичні вказівки \ 851 Тема 6 Основи мови програмування javascript Основи Web-дизайну з курсу Сучасні Internet-технології, НУДПСУ

Тема 6 Основи мови програмування javascript Основи Web-дизайну з курсу Сучасні Internet-технології, НУДПСУ

« Назад

Тема 6. ОСНОВИ МОВИ ПРОГРАМУВАННЯ JAVASCRIPT

6.1. Загальний огляд мови JavaScript

JavaScript - це мова програмування, що використовується у складі  HTML-сторінок для збільшення їх функціональності та можливостей взаємодії з користувачем. JavaScript є однією із складових динамічного HTML. Ця мова програмування була створена фірмами Netscape  та Sun Microsystems на базі мови програмування Sun's Java. На сьогодні є декілька версій JavaScript. Однією із найбільш поширених є версія JavaScript 1.3. За допомогою JavaScript на HTML-сторінці можна зробити те, що не можливо за допомогою стандартних тегів HTML. 

Код програми JavaScript розміщується або у середині HTML-сторінки, або у текстовому файлі, що пов’язаний за допомогою спеціальних команд з HTML-сторінкою. Цей код, як правило, розміщується у середині тегу HTML та завантажується у браузер разом з кодом HTML-сторінки. Програма JavaScript не може існувати самостійно, тобто без  HTML-сторінки.

Виконання програми JavaScript відбувається при перегляді HTML-сторінки у браузері, звісно, тільки у тому випадку, коли браузер містить інтерпретатор JavaScript. Практично всі сучасні популярні браузери оснащені таким інтерпретатором. Зазначимо, що, крім JavaScript, на HTML-сторінках можливо використовувати інші мови програмування. Наприклад, VBScript або JScript, яка є варіантом JavaScript від фірми Microsoft. Але виконання програм VBScript та JScript гарантовано коректне тільки при перегляді HTML-сторінки за допомогою браузера Microsoft Internet Explorer. Тому у більшості випадків використання JavaScript доцільніше, хоча функціональність програм VBScript та  JScript  дещо краща.

Досить часто програму JavaScript називають скриптом або сценарієм. Скрипти виконуються у результаті того, що відбулась деяка подія, пов’язана з HTML-сторінкою. У багатьох випадках виконання вказаних подій ініціюється діями користувача.

Скрипт може бути пов’язаний з HTML-сторінкою двома способами:

- за допомогою парного тегу SCRIPT;

- як оброблювач події, що стосується конкретного тегу HTML.

Сценарій, вбудований у HTML-сторінку з використанням тегу SCRIPT, має такий формат:

<SCRIPT>
   // Код програми 
</SCRIPT>

Усе, що розміщується між тегами <SCRIPT>  та </SCRIPT>, інтерпретується як код програми на мові JavaScript. Обсяг вказаного коду не обмежений. Інколи скрипти розміщують у середині HTML-коментарію. Це роблять для того, щоб код JavaScript не розглядався старими браузерами, які не мають інтерпретатора JavaScript. У цьому випадку сценарій має формат:

<SCRIPT>
      <!--
   // Код програми 
      -->
</SCRIPT>

Тег SCRIPT має декілька необов’язкових параметрів. Найчастіше використовуються параметри language  та src. Параметр language  дозволяє визначити мову та версію мови сценарію. Параметр src дозволяє задати файл з кодом сценарію. Для пояснення використання параметрів тегу SCRIPT розглянемо задачу.

Задача. Необхідно для HTML-сторінки hi.htm створити сценарій на мові JavaScript 1.3 для показу на екрані вікна повідомлення з текстом "Привіт!". 

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

Для ілюстрації можливостей пов’язування скриптів з HTML-кодом розв’яжемо задачу двома варіантами.

Варіант 1. Визначення сценарію безпосередньо на  HTML-сторінці hi.htm

<html><head>

         <title>Використання JavaScript</title>

</head>

<body>

<script language="JavaScript1.3">

   alert('hi');

</script>

</body></html>

Варіант 2. Визначення сценарію у файлі a.js, пов’язаному з  HTML-сторінкою hi.htm за допомогою параметра src тегу SCRIPT. Код HTML-сторінки hi.htm:

<html><head>

         <title>Використання JavaScript</title>

         <script language="JavaScript1.3" src="a.js"> </script>

</head><body>

</body></html>

Програмний код, записаний у файлі a.js:

alert('hi');

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

Змінні та вирази JavaScript можливо використовувати як значення параметрів тегів HTML. У цьому випадку елементи JavaScript розміщуються між амперсандом (&) та крапкою з комою (;), але повинні бути обмежені фігурними дужками {} і використовуватись тільки як значення параметрів тегів.

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

<font color="&{c};"> текст зеленого кольору </font>

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

6.2. Синтаксис. Визначення та ініціалізація змінних

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

Будь-яка послідовність символів, розміщених у одному рядку, якій передує //, розглядається як коментар. Для визначення багаторядкових коментарів використовується конструкція:

/*

Багаторядковий коментар

*/

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

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

Таблиця 6.1

Типи даних JavaScript

Тип даних

Пояснення

Приклад літерала

Цілий

Послідовність цілих чисел

789     +456      -123

З плаваючою крапкою

Числа з крапкою, яка відділяє цілу частину від дробової, або числа у науковій нотації

7.25      0.525е01

71.2Е-4

Рядковий

Послідовність алфавітно-цифрових символів, взятих у одинарні (’) або подвійні (") лапки

"Привіт"

"234"

"Hello World!!!"

Булевий або логічний

Використовуються для оброблення ситуацій так/ні у операторах порівняння

true

false

Ім’я змінної повинно містити тільки букви латинського алфавіту, символ підкреслення _, арабські цифри та починатись з букви або символу підкреслення _.  Довжина імені повинна бути менша від 255 символів. Заборонено використовувати імена, що збігаються з ключовими словами JavaScript. Приклади імен: _hello, go, go123.

Визначити змінну можливо:

- оператором var, наприклад  var a;

- при ініціалізації, за допомогою оператора присвоєння (=), наприклад b=126.

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

6.3. Вирази та оператори

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

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

Арифметичні вирази обчислюють число, наприклад а=7+5;

Рядкові вирази обчислюють рядок символів, наприклад "Джон" або  "234".

Логічні вирази обчислюють true (істина) або false (хибна).

Оператор присвоювання (=) присвоює значення лівому операнду, базуючись на значенні правого операнда. Наприклад, для присвоєння змінній а значення числа 5 необхідно записати:

а=5

До стандартних арифметичних операторів належать: оператори додавання (+), віднімання (-), множення (*), ділення (/), остача від ділення чисел (%), збільшення числової змінної  на 1 (++), зменшення числової змінної на 1 (--).

Зазначимо, що оператор додавання можна використовувати не тільки для чисел, але й для додавання (контрактації / конкатенації) текстових рядків.

Для створення логічних виразів використовуються логічні оператори та оператори порівняння.

До логічних операторів належать - логічне І (&&), логічне  АБО (||), логічне НІ (!).

Оператори порівняння не відрізняються від таких операторів у інших мовах програмування. До операторів порівняння належать  (==, >, >, =<, <=,!=).

6.4. Оператори вибору

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

Оператори вибору призначені для виконання деяких блоків операторів залежно від істинності деякого логічного виразу.  До операторів вибору належать: оператор умови if...else та перемикач switch.

Синтаксис оператора умови такий:

if (умова) {

         група операторів 1

         . . . . . . . . .

}

[else] {

         група операторів 2

         . . . . . . . . .

}

Перша група операторів виконується за умови істинності виразу умова. Необов’язковий блок else визначає другу групу операторів, яка буде виконуватись у випадку хибності умови, заданої у блоці if. У середині групи операторів можуть бути використані будь-які інші оператори, у тому числі і інші оператори умови. Це дозволяє створювати групу вкладених операторів умови if та реалізовувати складні алгоритми перевірки. Однак, якщо кількість вкладених операторів if більша за три, то програма стає складною для розуміння. У такому випадку доцільно використовувати оператор switch. У цьому операторі обчислюється деякий вираз та порівнюється з значенням, заданим у блоках case. Синтаксис оператора switch  такий:

switch  (вираз) {

case значення1:

[оператори1]

break;

case значення2:

[оператори2]

break;

...

default:

[оператори]

}

Якщо значення виразу у блоці switch  дорівнює значення1, то виконується група операторів оператори1, якщо дорівнює значення2, то виконується група операторів оператори2 і так далі. Якщо значення виразу не дорівнює ні одному із значень, що  задані у блоках case, то обчислюється група операторів блоку default, якщо це блок заданий, інакше - виконується вихід із оператора switch.  Необов’язковий оператор   break, який можливо задавати у кожному із блоків case, виконує безумовний вихід із оператора switch. Якщо він не заданий, то продовжується виконання операторів у наступних блоках case до першого оператора break або до кінця оператора    switch

6.5. Оператори циклу

Цикл - це деяка група команд, що повторюється доки вказана умова не буде виконана. JavaScript 1.3 підтримує дві форми циклу: for та while. Крім того, оператори break та continue  використовуються разом з циклами.

Цикл for повторює групу команд до того часу, доки вказана умова хибна. Синтаксис оператора for такий:

for ([initial-expression];     [condition];     [increment-expression])
{
   statements
}

Виконання циклу for проходить у такій послідовності:

1. Вираз initial-expression слугує для ініціалізації змінної лічильника. Цей вираз розраховується один раз на початку виконання циклу

2. Вираз condition розраховується на кожній ітерації циклу. Якщо значення виразу condition дорівнює true, виконується група операторів statements у тілі циклу. Якщо значення виразу condition дорівнює false, то цикл forзакінчується. Якщо вираз condition пропущено, то він вважається рівним true. У цьому випадку цикл продовжується до оператора break.

3. Вираз increment-expression використовується для зміни значення змінної лічильника.

4. Розраховується група операторів statements та реалізується перехід на наступну ітерацію циклу, тобто на крок 2.

Приклад. Цикл для розрахунку суми цілих чисел від 1 до 100.

s=0
for (i=1;i<101;i++) {
      s=s+1;
}

Оператор while повторює цикл, доки вказана умова істинна. Оператор while набирає такий вигляд:

 while (condition) {
      statements
 }

Цикл while виконується  таким чином. Спочатку перевіряється умова condition. Якщо умова істинна, то виконується група операторів statements у середині циклу. Перевірка істинності виконується на кожному кроці циклу.  Якщо умова хибна, то цикл закінчує своє виконання.

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

6.6. Контрольні запитання

  1. Навіщо використовується мова JavaScript?

  2. Як визначити у HTML- документі код JavaScript?

  3. Синтаксис запису змінних у JavaScript.

  4. Синтаксис запису виразів у JavaScript.

  5. Типи даних JavaScript.

  6. Оператори JavaScript.

  7. Оператори вибору JavaScript.

  8. Оператори циклів JavaScript.

  9. Як достроково закінчити цикл?

  10. Як достроково перейти на наступну ітерацію циклу?

З повагою ІЦ “KURSOVIKS”!