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 виконання коду


Виконання коду javascript

Коли браузер отримує веб-сторінку з кодом html і javascript, то він її інтерпретує. Результат інтерпретації у вигляді різних елементів - кнопок, полів вводу, текстових блоків і т.д., ми бачимо перед собою в браузері. Інтерпретація веб-сторінки відбувається послідовно зверху вниз.

Коли браузер зустрічає на веб-сторінці елемент <script> з кодом javascript, то вступає в дію вбудований інтерпретатор javascript. І поки він не закінчить свою роботу, далі інтерпретація веб-сторінки не йде.

Розглянемо невеликий приклад і для цього змінимо сторінку index.html з минулої теми наступним чином:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>JavaScript</title>
    <script>
    alert("Секція head");
    </script>
</head>
<body>
    <h2>Перший заголовок</h2>
    <script>
    alert("Перший заголовок");
    </script>
    <h2>Другий заголовок</h2>
    <script>
    alert("Другий заголовок");
    </script>
</body>
</html>

Тут три вставки коду javascript - одна в секції <head> і по одному після кожного заголовка.

Відкриємо веб-сторінку в браузері.

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

Після закриття вікна з повідомленням браузер додасть на сторінку перший заголовок і знову зупиниться на наступному блоці коду javascript.

Після закриття вікна повідомлення браузер рушить далі і додасть на сторінку другий заголовок і зупиниться на третьому блоці коду javascript.

Після закриття третього вікна з повідомленням браузер закінчить інтерпретацію веб-сторінки, і веб-сторінка виявиться повністю завантажена. Даний момент дуже важливий, оскільки може впливати на продуктивність. Тому нерідко вставки коду javascript йде перед закриваючим тегом </body> , коли основна частина веб-сторінки вже завантажена в браузері.

Тобто в нашому випадку ми могли б перенести всі вставки коду javascript вниз:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>JavaScript</title>
</head>
<body>
    <h2>Перший заголовок</h2>
    <h2>Другий заголовок</h2>
    <script>
    alert("Секція head");
    alert("Перший заголовок");
    alert("Другий заголовок");
    </script>
</body>
</html>

Основи синтаксису javascript

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

Код javascript складається з інструкцій, кожна з яких завершується крапкою з комою:

alert("Обчислення виразу: "); var a = 5 + 8; alert(a);

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

alert("Обчислення виразу: ")
var a = 5 + 8
alert(a)

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

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

Коментарі можуть бути однорядковими, для яких використовується подвійний слеш:

// вивід повідомлення
alert("Обчислення виразу: ");

// арифметична операція
var a = 5 + 8;
alert(a);

Крім однорядкових коментарів можуть використовуватися і багаторядкові. Такі коментарі укладаються між символами /* текст комментаря */ . наприклад:

/*  вивід повідомлення і
 арифметична операція */

alert("Обчислення виразу: ");
var a = 5 + 8;
alert(a);

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