Function Declaration и Function Expression в JavaScript

Function Declaration и Function Expression в JavaScript

От автора: приветствую вас, друзья. Мы продолжаем цикл статей, посвященных изучению JavaScript. И сегодня мы с вами познакомимся с такими понятиями, как Function Declaration и Function Expression в JavaScript, а также узнаем, в чем разница между ними. Приступим.

Собственно, с Function Declaration мы с вами уже знакомы, это стандартное объявление или, иными словами, декларирование функции, которую мы можем вызывать в коде, как после объявления функции, так и до этого:

Оба вызова функции замечательно отработают:

Хорошо, а что из себя представляет Function Expression? Function Expression (функция выражение, функциональное выражение) — это еще один вариант создания функций, который выглядит следующим образом:

То есть, мы код функции присваиваем обыкновенной переменной. Собственно, переменная в данном случае и будет теперь ни чем иным, как функцией, именем функции, по которому можно к ней обратиться. Давайте попробуем вызвать функцию дважды, как и в предыдущем примере, до объявления функции и после этого:

Упс! Не вышло. Наш код вернул ошибку, сообщая, что функции hello нет. Эта ошибка сработала до объявления функции. Ок, давайте попробуем закомментировать первый вызов функции:

А вот второй вызов успешно отработал. Полагаю, вы уже догадались, в чем конкретно заключается отличие Function Declaration от Function Expression. Правильно, при декларировании функции она (функция) создается до выполнения остального кода. Соответственно, к моменту начала выполнения кода все задекларированные функции уже созданы и доступны к использованию.

В случае же с функциональным выражением функции будут создаваться только в момент выполнения кода, а не перед ним. Использование Function Expression часто можно встретить в коде различных библиотек и скриптов, поэтому, если вы увидите запись в переменную некой функции, не удивляйтесь — это Function Expression.

На этом мы завершим данную статью. Если вы хотите больше узнать о JavaScript, тогда рекомендую обратить свое внимание на уроки по JavaScript и отдельный курс по языку JavaScript. Удачи!

Метки:

Похожие статьи:

Комментарии Вконтакте: