У видавництва «Фабула» виходить друком український переклад книжки Елізабет Робсон і Еріка Фрімена під назвою «Head First. Програмування на JavaScript». У ній автори знайомлять читача з особливостями JavaScript – основної мови програмування мережі, що дозволяє визначати розширену поведінку на вебсторінках, та пояснюють, як вона працює. AIN.UA публікує уривок з книги.

Інструкція від «Webville» щодо гігієни коду

У компанії «Webville» ми прагнемо підтримувати чистоту, організованість та готовність до розширення. Кожен розробник повинен підтримувати код у працездатному стані, але JavaScript часом досить ліберально ставиться до того, що пов’язане з організацією ваших змінних і функцій. Тому ми підготували для вас невелику та зрозумілу інструкцію, що містить кілька порад для новачків у «Webville». Беріть листівки, вони БЕЗКОШТОВНІ!

Глобальні змінні — на самому ПОЧАТКУ! Глобальні змінні рекомендується за можливості згрупувати і розмістити на початку коду, де їх легше знайти. Може, це й не обов’язково робити, але хіба не простіше буде вам та іншим розробникам відшукати змінні, що використані в коді, коли всі вони перебуватимуть на самому початку?

Функції люблять бути поряд. Узагалі-то ні; насправді їм це байдуже, адже це всього-на-всього функції. Але якщо ви будете тримати свої функції поряд одна з одною, вам буде набагато простіше знайти їх. Як вам відомо, браузер переглядає код JavaScript у пошуках функцій, перш ніж зробити щось ще. Отже, функції можна розмістити як на початку, так і в кінці файлу. У будь-якому разі, якщо вони будуть розташовуватися в одному місці, ваше життя стане простішим. Тут, у компанії «Webville», ми часто починаємо з оголошення глобальних змінних, а потім розміщуємо свої функції.

Оголошуйте локальні змінні НА ПОЧАТКУ тієї функції, якій вони належать. Розмістіть всі оголошення локальних змінних на початку тіла функції. Це спростить пошук і гарантує, що всі вони будуть оголошені перед використанням. Ось і все. Дотримуйтесь правил і насолоджуйтесь перебуванням у «Webville»!

П’ятихвилинна загадка

Справа про невдалу спробу пограбування, яку не варто розслідувати.

Шерлок закінчив телефонну розмову зі стурбованим начальником поліції Лестрейдом, сів біля каміна і знову взявся за газету. Ватсон із нетерпінням поглянув на нього.

— Що таке? — запитав Шерлок, не відриваючи погляду від газети.

— Ну? Що сказав Лестрейд? — запитав Ватсон.

— Він сказав, що знайдено сторонній програмний код на банківському рахунку, із яким відбувалося щось підозріле.

— І? — продовжував розпити Ватсон, марно намагаючись приховати нетерпіння.

— Лестрейд переслав мені код, а я сказав йому, що цією справою взагалі не варто займатися. Злочинець припустився фатальної помилки, і йому все одно ніколи не вдасться викрасти звідти гроші,— відповів Шерлок.

— Звідки ви знаєте? — здивувався Ватсон.

— Це ж очевидно, якщо знаєш, на що дивитися,— відмахнувся Шерлок.

— А зараз перестаньте відволікати мене питаннями і дайте спокійно дочитати репортаж.

Поки Шерлок був зайнятий останніми новинами, Ватсон крадькома заглянув у смартфон Шерлока, відшукав повідомлення Лестрейда і побачив такий код:

Чому Шерлок вирішив, що справу не варто розслідувати? Як він дізнався, що злочинець ніколи не зможе вкрасти гроші, просто поглянувши на код? Може, у коді ховається якась проблема? І навіть не одна?

Ключові моменти

  • Функція оголошується ключовим словом function, за яким слідує ім’я функції.
  • Усі параметри функції беруться у круглі дужки. Якщо функція не має параметрів, використовується порожня пара дужок.
  • Тіло функції береться у фігурні дужки.
  • При виклику функції виконуються команди, що містяться в тілі функції.
  • Виклик і передача управління функції — це те ж саме.
  • При виклику функції вказується її ім’я та передаються аргументи до параметрів функції (якщо такі є).
  • За необхідності функція може повертати значення командою return.
  • Функція створює локальну область дії параметрів і будь-яких локальних змінних, що використовуються функцією.
  • Змінні мають або глобальну область дії(тобто видимі у будь-якій точці програми), або локальну область дії (видимі тільки в межах функції, у якій вони оголошені).
  • Оголошуйте локальні змінні на початку тіла функції.
  • Якщо ви забудете оголосити локальну змінну із ключовим словом var, тоді ця змінна буде глобальною, що може призвести до непередбачених наслідків у програмі.
  • Функції — це гарний спосіб упорядкування коду і створення фрагментів коду, придатних для повторного використання.
  • Передача аргументів параметрам дозволяє налаштувати код функції (і використовувати різні аргументи для отримання різних результатів).
  • Функції також допомагають скоротити дублювання коду або повністю усунути його.
  • Ви також можете використовувати численні вбудовані функції JavaScript’s — такі, як alert, prompt і Math.random,— для виконання роботи у ваших програмах.
  • Використання вбудованих функцій означає, що ви застосовуєте наявний код, який вам не потрібно писати самостійно.
  • Програмний код бажано організовувати так, аби функції та глобальні змінні розташовувалися разом на початку файлу JavaScript.