У видавництва «Фабула» виходить друком український переклад книжки Елізабет Робсон і Еріка Фрімена під назвою «Head First. Програмування на JavaScript». У ній автори знайомлять читача з особливостями JavaScript – основної мови програмування мережі, що дозволяє визначати розширену поведінку на вебсторінках, та пояснюють, як вона працює. AIN.UA публікує уривок з книги.
Інструкція від «Webville» щодо гігієни коду
У компанії «Webville» ми прагнемо підтримувати чистоту, організованість та готовність до розширення. Кожен розробник повинен підтримувати код у працездатному стані, але JavaScript часом досить ліберально ставиться до того, що пов’язане з організацією ваших змінних і функцій. Тому ми підготували для вас невелику та зрозумілу інструкцію, що містить кілька порад для новачків у «Webville». Беріть листівки, вони БЕЗКОШТОВНІ!
Глобальні змінні — на самому ПОЧАТКУ! Глобальні змінні рекомендується за можливості згрупувати і розмістити на початку коду, де їх легше знайти. Може, це й не обов’язково робити, але хіба не простіше буде вам та іншим розробникам відшукати змінні, що використані в коді, коли всі вони перебуватимуть на самому початку?
Функції люблять бути поряд. Узагалі-то ні; насправді їм це байдуже, адже це всього-на-всього функції. Але якщо ви будете тримати свої функції поряд одна з одною, вам буде набагато простіше знайти їх. Як вам відомо, браузер переглядає код JavaScript у пошуках функцій, перш ніж зробити щось ще. Отже, функції можна розмістити як на початку, так і в кінці файлу. У будь-якому разі, якщо вони будуть розташовуватися в одному місці, ваше життя стане простішим. Тут, у компанії «Webville», ми часто починаємо з оголошення глобальних змінних, а потім розміщуємо свої функції.
Оголошуйте локальні змінні НА ПОЧАТКУ тієї функції, якій вони належать. Розмістіть всі оголошення локальних змінних на початку тіла функції. Це спростить пошук і гарантує, що всі вони будуть оголошені перед використанням. Ось і все. Дотримуйтесь правил і насолоджуйтесь перебуванням у «Webville»!
П’ятихвилинна загадка
Справа про невдалу спробу пограбування, яку не варто розслідувати.
Шерлок закінчив телефонну розмову зі стурбованим начальником поліції Лестрейдом, сів біля каміна і знову взявся за газету. Ватсон із нетерпінням поглянув на нього.
— Що таке? — запитав Шерлок, не відриваючи погляду від газети.
— Ну? Що сказав Лестрейд? — запитав Ватсон.
— Він сказав, що знайдено сторонній програмний код на банківському рахунку, із яким відбувалося щось підозріле.
— І? — продовжував розпити Ватсон, марно намагаючись приховати нетерпіння.
— Лестрейд переслав мені код, а я сказав йому, що цією справою взагалі не варто займатися. Злочинець припустився фатальної помилки, і йому все одно ніколи не вдасться викрасти звідти гроші,— відповів Шерлок.
— Звідки ви знаєте? — здивувався Ватсон.
— Це ж очевидно, якщо знаєш, на що дивитися,— відмахнувся Шерлок.
— А зараз перестаньте відволікати мене питаннями і дайте спокійно дочитати репортаж.
Поки Шерлок був зайнятий останніми новинами, Ватсон крадькома заглянув у смартфон Шерлока, відшукав повідомлення Лестрейда і побачив такий код:
Чому Шерлок вирішив, що справу не варто розслідувати? Як він дізнався, що злочинець ніколи не зможе вкрасти гроші, просто поглянувши на код? Може, у коді ховається якась проблема? І навіть не одна?
Ключові моменти
- Функція оголошується ключовим словом function, за яким слідує ім’я функції.
- Усі параметри функції беруться у круглі дужки. Якщо функція не має параметрів, використовується порожня пара дужок.
- Тіло функції береться у фігурні дужки.
- При виклику функції виконуються команди, що містяться в тілі функції.
- Виклик і передача управління функції — це те ж саме.
- При виклику функції вказується її ім’я та передаються аргументи до параметрів функції (якщо такі є).
- За необхідності функція може повертати значення командою return.
- Функція створює локальну область дії параметрів і будь-яких локальних змінних, що використовуються функцією.
- Змінні мають або глобальну область дії(тобто видимі у будь-якій точці програми), або локальну область дії (видимі тільки в межах функції, у якій вони оголошені).
- Оголошуйте локальні змінні на початку тіла функції.
- Якщо ви забудете оголосити локальну змінну із ключовим словом var, тоді ця змінна буде глобальною, що може призвести до непередбачених наслідків у програмі.
- Функції — це гарний спосіб упорядкування коду і створення фрагментів коду, придатних для повторного використання.
- Передача аргументів параметрам дозволяє налаштувати код функції (і використовувати різні аргументи для отримання різних результатів).
- Функції також допомагають скоротити дублювання коду або повністю усунути його.
- Ви також можете використовувати численні вбудовані функції JavaScript’s — такі, як alert, prompt і Math.random,— для виконання роботи у ваших програмах.
- Використання вбудованих функцій означає, що ви застосовуєте наявний код, який вам не потрібно писати самостійно.
- Програмний код бажано організовувати так, аби функції та глобальні змінні розташовувалися разом на початку файлу JavaScript.