Функції в javascript

Перевірити парність числа

У функції використана умовна конструкція if. else і тернарний оператор.

оператор return

Оператор return дозволяє повернути значення з функції. тобто отримати результат для подальшого використання в коді. Цей результат можна записати (привласнити) в будь-яку змінну, використовувати в подальшому коді для обчислень, наприклад, або вивести на html-сторінку.

За допомогою return можна повертати логічні значення (true або false), результат обчислень (число), рядок або навіть об'єкт. Слід розуміти 2 особливості, пов'язані з цим оператором:

  1. повернути можна тільки одне значення (якщо потрібно кілька, виходом може бути об'єкт в якості значення, що повертається);
  2. після виконання цього оператора припиняється виконання коду функції. Далі буде виконуватися код, який слід за викликом функції.

Розглянемо простий приклад. У нас є функція, яка вважає суму 2-х чисел. Можна використовувати її для того, щоб скласти кілька чисел і суми цих чисел. Ось код:

Функція суми чисел

Порахувати суму чисел з перевіркою

Тут оператор "+" перетворює рядок в число, якщо рядок виду "12", "-14" і т.д. У разі рядки "abcd12" відбувається перетворення в тип NaN (Not a Number) і обчислення суми не виконується. Виводиться повідомлення про помилку і повертає 0 (нуль). Зверніть увагу, що після оператора return виконання функції припиняється.

До речі, функція, яка не має оператора return, насправді повертає значення undefined.

Розглянемо використання цього масиву на прикладі функції суми:

Властивості функції arguments

Declaration vs Expression

Для того щоб побачити помилку, потрібно відкрити консоль браузера (F12 і Esc).

Області видимості змінних

Коли ви створюєте змінні в своєму основному коді, їх видно всюди - і в циклах, і в умовних конструкціях, і в функціях. Але змінні, створені всередині функції за допомогою ключового слова var НЕ видно. тобто невідомі за межами цієї функції. Тобто при спробі звернутися до них буде видана помилка, тому що змінна не існує.

У прикладі нижче глобальна змінна a перезаписується всередині функції func (). а потім і у внутрішній функції innerFunc (). А це далеко не завжди призводить до потрібних результатів в процесі виконання коду.

Глобальна та локальна області видимості

Схожі статті