У цій статті ми поговоримо про основні аспекти мови програмування JavaScript і DOM (об’єктна модель документів).

Використання фреймворків, таких як jQuery або Prototype – це відмінний спосіб швидкої розробки додатків на JavaScript, але також важливо знати і розуміти базові аспекти цієї мови. Навіть якщо ви використовуєте тільки якусь конкретну бібліотеку, сьогоднішня інформація все одно принесе вам користь – розуміння того, як щось працює під «капотом», — це дуже важливо.

 

 

JavaScript – вступ

JavaScript – це динамічна, вільно типізована мова програмування на основі прототипів, яка використовується в багатьох середовищах WEB-розробки. Крім того, що він є дуже поширеною мовою веб-програмування на стороні клієнта, він також використовується для написання плагінів для IDE і є основою для інших платформ.

JavaScript заснований на стандарті ECMAScript (ECMA-262) і був створений Бренданом Айхом з компанії Netscape. Спочатку він називався LiveScript, але пізніше був перейменований в JavaScript.

 

Деякі особливості JavaScript:

  • Динамічні мови програмування виконуються під час виконання; вони не компілюються. Через це JavaScript іноді вважається мовою сценаріїв, а не справжньою мовою програмування. Коли у вас є JavaScript в HTML-документі, він буде аналізуватися при завантаженні сторінки в браузері, отже, під час виконання.
  • Вільно типізовані мови не вимагають будь-якої суворої системи типології. Якщо ви програмували на C або Java, ви знаєте, що при оголошенні змінної ви повинні вказати її тип, наприклад, ‘int‘ (ціле число). JavaScript відрізняється тим, що вам не потрібно вказувати тип змінної.
  • Для виконання успадкування в JavaScript ви повинні використовувати щось, що називається прототипами. В JavaScript немає підтримки класів. Він розглядає функції як першокласні об’єкти.

 

 

 

Об’єктна модель документа (DOM)

Об’єктна модель документа (DOM) – це API, через який JavaScript взаємодіє з контентом на сайті. JavaScript і DOM зазвичай розглядаються як єдине ціле, оскільки для взаємодії з контентом в Інтернеті найчастіше використовується саме JavaScript. DOM API використовується для доступу, перегляду та маніпулювання HTML і XML документами.

 

Короткі зауваження щодо DOM:

  • Об’єкт window є глобальним об’єктом, доступ до нього можна отримати, просто набравши «window». Саме всередині цього об’єкту виконується весь код JavaScript. Як і у всіх об’єктів, у нього є властивості і методи:
    • Властивість – це змінна, що зберігається в об’єкті. Всі змінні, створені на веб-сторінці, автоматично стають властивостями об’єкта window.
    • Метод – це функція, що зберігається в об’єкті. Оскільки всі функції зберігаються в об’єкті window, всі вони можуть називатися «методами».
  • DOM створює ієрархію, що відповідає структурі кожного веб-документа. Ця ієрархія складається з вузлів. Існує кілька різних типів DOM-вузлів, найбільш важливими з яких є «Елемент», «Текст» і «Документ»:
    • Вузол «Елемент» представляє елемент на сторінці. Таким чином, якщо у вас є елемент абзацу (‘<p>‘), то до нього можна отримати доступ через DOM як до вузла.
    • Вузол «Текст» являє собою весь текст (всередині елементів) на сторінці. Тому, якщо у вашому абзаці є трохи тексту, до нього можна напряму звернутися через DOM.
    • Вузол «Документ» представляє собою весь документ (кореневий вузол ієрархії/дерева DOM).
    • Також зверніть увагу, що атрибути елемента теж є вузлами DOM.
  • Врахуйте, що в різних браузерах по-різному відбувається механізм компонування DOM. Це є причиною багатьох головних болей веб-розробників.

 

 

 

Використання JavaScript на сайті

Якщо ви хочете використовувати JavaScript на веб-сайті, він повинен бути включений в елемент script:

<!DOCTYPE html>
<html lang="uk-UA">
 <head>
  <meta charset="UTF-8">
  <title>JavaScript</title>
 </head>
 <body>
  <script type="text/javascript">
    // <![CDATA[
     ...
    // ]]>
  </script>
 </body>
</html>

 

 

Вище ми включили елемент script в наш документ (сторінку). Атрибут type має значення «text/javascript» (ви також можете не використовувати цей атрибут).

Якщо ви використовуєте XHTML, то краще додайте рядки (// <![CDATA[ …  // ]]>), щоб позначити, що цей вміст є символьними даними і не повинен тлумачитися як розмітка XHTML. Це дійсно необхідно, якщо ви плануєте використовувати символи «<» або «>» в ​​своєму коді JavaScript. Не забудьте закоментувати ці рядки (//) для браузерів, які не підтримують XHTML.

Якщо ви використовуєте простий HTML, очевидно, що вам не потрібно використовувати рядки CDATA.

 

 

Посилання на зовнішні скрипти

Якщо ви хочете створити посилання на зовнішній файл сценарію, просто додайте атрибут src до елементу script з вказуванням посилання на потрібний файл. Зазвичай краще використовувати скрипти, що підключаються, ніж писати вбудований код, оскільки в цьому випадку браузер може закешувати ці файли. Крім того, в цьому випадку не потрібно турбуватися про CDATA:

<script type="text/javascript" src="scripts.js"></script>

 

 

Атрибут відкладеної дії (defer)

Будь-який JavaScript, який ми поміщаємо в елемент script, буде запускатися при завантаженні сторінки. Єдиний виняток – коли елемент script має атрибут ‘defer‘ або ‘async‘. За замовчуванням, коли браузер зустрічає елемент script, він зупиняється і запускає його код, а потім продовжує аналіз документа. Атрибут defer повідомляє браузеру, що код не містить коду, що змінює документ, і тому може бути запущений пізніше.

 

 

На сьогодні все. У наступних уроках ми продовжимо вивчення основ JavaScript.

 

This post was last modified on 10/12/2018 12:27

Останні пости

Конфуцій

Коли вам здасться, що мета недосяжна, не змінюйте ціль — змінюйте свій план дій Конфуцій…

12/05/2024

Чарльз Дарвін

Виживає не найсильніший і не найрозумніший, а той, хто найкраще пристосовується до змін Чарльз Роберт…

11/05/2024

Що таке тег canvas в HTML5 і для чого він потрібен?

Елемент <canvas> з’явився лише в HTML5 і використовується для динамічного малювання графіки на веб-сторінці з…

10/05/2024

Ден Браун

Можливо все, — неможливе просто потребує більше часу Ден Браун  

09/05/2024

Що включає в себе чистка ноутбука?

Ноутбук — це не тільки зручний і функціональний ґаджет, а й доволі делікатний пристрій, що…

08/05/2024

Аль Пачино

Ніколи нічого нікому не пояснюйте. Все одно кожен зрозуміє так, як йому вигідно Аль Пачино…

07/05/2024