Javascript функції

функції

  • Передавати як аргумент і повертати з інших функцій.
  • Створювати анонімні функції та присвоювати як значення змінних або властивостей об'єктів.

Оголошення функції

Як і будь-який об'єкт, перед використанням необхідно оголосити функції, тобто виконати два кроки:

  1. Дати ім'я функції. У тому числі вказати список вхідних параметрів.
  2. Визначити логіку роботи функції.

Оголосити функції можна трьома різними способами:

Декларативний спосіб

  • fucntion – ключове слово;
  • ідентифікатор – обов'язкова назва функції;
  • параметри - не обов'язковий перелік параметрів, що передаються в функцію;
  • логіка роботи – опис самих процесів, що виконуються функцією;
  • return - ключове слово, що повідомляє після себе, що поверне функція;
  • вираз/об'єкт - те, що функція повертає, це може бути інша змінна, результат обчислень і т.д.

Розглянемо простий приклад:

У даному прикладі ми оголосили функцію sum, якою передається при виклику якесь число, після чого знаходиться квадрат цього числа і до нього додається воно саме, отримане значення повертається.

Функціональний спосіб

У цьому випадку сенс буде зрозумілим лише тим людям, які вже стикалися з функціональним програмуванням. Якщо говорити дуже просто і грубо – оголошується анонімна функція та присвоюється змінною. Розглянемо синтаксис:

Основна відмінність від попереднього тут, як згадувалося вище - назва функції винесено, як окрема змінна і сама функція анонімна (не обов'язково).

Розглянемо аналогічний приклад, який бачили у декларативному способі:

Такий спосіб у деяких випадкахможе бути зручнішим.

Спосіб ООП (Об'єктно-орієнтоване програмування)

Враховуючи те, щофункція в Javascript є об'єктом, можна створювати її екземпляри за допомогою оператора new, проте слід розуміти, що кожного разу буде створюватися новий екземпляр, а це погано впливає на використання пам'яті.

Тут ми створюємо клас Human , в ньому визначаємо конструктор, який автоматично викличеться, коли ми оголосимо екземпляр класу, а також метод (функцію) hello , яка збиратиме рядок з того, що ми передали в конструктор і в цей метод. Результатом буде спливаюче вікно з текстом "Привіт, Петро".

Деякі з вас запитають, а що таке за це в цьому коді. Це спеціальне слово JS , яке дозволяє вказувати класу самому на себе. По суті своїй повз два методи ми так само створили всередині класу змінну start і надали їй значення під час ініціалізації об'єкта класу.