Функція - це самостійна програма, яка виконує конкретно задану дію. Це може бути перевірка значення, висновок повідомлення, створення елемента і т.д. Функцію можна викликати в будь-якому місці скрипта будь-яку кількість разів. Таким чином, бажані дії визначаються лише один раз, а це спрощує структуру основного скрипта і його редагування. При зміні алгоритму дій відредагувати потрібно буде тільки функцію.
Function Declaration
Загальний вигляд виклику функції:
Задається функція ключовим словом function. Далі йде ім'я функції, за яким відбувається її виклик. У дужках вказуються аргументи, в які записуються дані з переданих при виконанні функції параметрів. приклад:
Якщо при виконанні функції передати менше параметрів, ніж необхідно, тоді значення аргументу буде undefined. Це використовується при створенні функцій з необов'язковими параметрами.
В наведеному вище прикладі аргумент second вказувати не обов'язково, і тоді йому буде присвоєно значення за замовчуванням 0.
Function Expression
В даному прикладі в якості параметрів функції передаються анонімні функції і записуються в змінні remove і safe. Далі в залежності від відповіді в змінну answer записується потрібна функція і виконується.
Конструкція new Function ()
Конструкція new Function () дозволяє створювати функцію з рядка. Загальний вигляд:
Перший рядок містить список аргументів. Другий рядок містить тіло функції. приклад:
локальні змінні
Ця функція може працювати з глобальними змінними та функціями, які визначені в основній програмі. Також для функції можна визначити локальні змінні і функції, які будуть видні тільки всередині даної функції. Змінні, зазначені аргументами функції, є її локальними змінними.
Функції створюються як окремі програми-помічники, тому краще в них використовувати свої змінні, щоб не допустити появи помилок в основному скрипті.
Директива return
Найчастіше функції використовуються для отримання конкретного результату (чи правильно введено пароль, чи є рядок email -ом, результат складного математичного виразу) для використання далі в основному скрипті. Щоб отримати результат від функції, використовується директива return. У функції можна використовувати кілька директив return.
Робота функції завершується при першому виконаному return. Цю директиву можна використовувати без аргументу. При цьому повернеться значення undefined. Одиночний return зазвичай використовується для примусового припинення виконання функції.
імена функцій
Вимоги до імені функції такі ж, як для змінних.
Функція виконує одне певну дію, тому її ім'я має максимально точно описувати, що вона робить. Бажано використовувати глагольную форму (дія і над чим воно проводиться):
- showTable - показати таблицю.
- getValue - отримати значення.
- findRow - знайти рядок.
- isEmail - чи є рядок email-ом.