Функциональные выражения и объявления: различие конструкции JavaScript
При работе с JavaScript разработчики часто сталкиваются с двумя конструкциями: функции выражений и заявлений. Несмотря на то, что они аналогичны по функциональности, они различаются по своей обработке браузером и их поведением нагрузки в контексте выполнения.
выражения функции
выражения функции, также известные как анонимные функции, являются анонимными функциями, назначенными переменной. Они определены с использованием следующего синтаксиса:
var foo = function() { return 5; }
объявленные функции
Объявления функции, с другой стороны, называются функциями, которые явно объявляются с использованием ключевого слова функции. Их синтаксис:
function foo() { return 5; }
поведение загрузки
ключевое различие между этими конструкциями заключается в их поведении нагрузки. Объявления функций поднимаются в верхнюю часть контекста выполнения и доступны до выполнения какого -либо кода. Это позволяет их вызвать до их объявления, и к ним можно получить доступ в любом месте в текущей области, даже до их объявления. Это означает, что если вы попытаетесь вызвать выражение функции до его объявления, вы столкнетесь с ошибкой. Выражения функций доступны только в рамках, в которой они были объявлены. // это вызовет ошибку var foo = function () {return 5; }
в этом примере выражение функции Foo не доступно перед объявлением, следовательно, ошибка при попытке его назвать.
именованные экспрессии функции
хотя необычно, это возможно имена функции, используя следующую синтаксис:
alert(foo()); // This will cause an error var foo = function() { return 5; }
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3