Javascript функції

- Передавати як аргумент і повертати з інших функцій.
- Створювати анонімні функції та присвоювати як значення змінних або властивостей об'єктів.
Оголошення функції
Як і будь-який об'єкт, перед використанням необхідно оголосити функції, тобто виконати два кроки:
- Дати ім'я функції. У тому числі вказати список вхідних параметрів.
- Визначити логіку роботи функції.
Оголосити функції можна трьома різними способами:
Декларативний спосіб
- fucntion – ключове слово;
- ідентифікатор – обов'язкова назва функції;
- параметри - не обов'язковий перелік параметрів, що передаються в функцію;
- логіка роботи – опис самих процесів, що виконуються функцією;
- return - ключове слово, що повідомляє після себе, що поверне функція;
- вираз/об'єкт - те, що функція повертає, це може бути інша змінна, результат обчислень і т.д.
Розглянемо простий приклад:
У даному прикладі ми оголосили функцію sum, якою передається при виклику якесь число, після чого знаходиться квадрат цього числа і до нього додається воно саме, отримане значення повертається.
Функціональний спосіб
У цьому випадку сенс буде зрозумілим лише тим людям, які вже стикалися з функціональним програмуванням. Якщо говорити дуже просто і грубо – оголошується анонімна функція та присвоюється змінною. Розглянемо синтаксис:
Основна відмінність від попереднього тут, як згадувалося вище - назва функції винесено, як окрема змінна і сама функція анонімна (не обов'язково).
Розглянемо аналогічний приклад, який бачили у декларативному способі:
Такий спосіб у деяких випадкахможе бути зручнішим.
Спосіб ООП (Об'єктно-орієнтоване програмування)
Враховуючи те, щофункція в Javascript є об'єктом, можна створювати її екземпляри за допомогою оператора new, проте слід розуміти, що кожного разу буде створюватися новий екземпляр, а це погано впливає на використання пам'яті.
Тут ми створюємо клас Human , в ньому визначаємо конструктор, який автоматично викличеться, коли ми оголосимо екземпляр класу, а також метод (функцію) hello , яка збиратиме рядок з того, що ми передали в конструктор і в цей метод. Результатом буде спливаюче вікно з текстом "Привіт, Петро".
Деякі з вас запитають, а що таке за це в цьому коді. Це спеціальне слово JS , яке дозволяє вказувати класу самому на себе. По суті своїй повз два методи ми так само створили всередині класу змінну start і надали їй значення під час ініціалізації об'єкта класу.