разница между function declaration и function expression?(JS)

в чем разница между function declaration и fucntion expression? я так понимаю declaration может принадлежать уже обьекту как его метод, а function expression уже сам по себе является обьектом. ?

ps:я только изучаю js


Ответы (1 шт):

Автор решения: Aziz Umarov

Каноничный ответ на основной вопрос кроется тут.

  • Функции – это значения. Они могут быть присвоены, скопированы или объявлены в другом месте кода.
  • Если функция объявлена как отдельная инструкция в основном потоке кода, то это Function Declaration.
  • Если функция была создана как часть выражения, то считается, что эта функция объявлена при помощи Function Expression.
  • Function Declaration обрабатываются перед выполнением блока кода. Они видны во всём блоке.
  • Функции, объявленные при помощи Function Expression, создаются, только когда поток выполнения достигает их.

По дополнительному вопросу

var abv=function abv() { return 3 }; 
console.log(typeof abv); // function

Функции в JavaScript

Функции - ключевая концепция в JavaScript. Важнейшей особенностью языка является первоклассная поддержка функций​ (functions as first-class citizen). Любая функция это объект, и следовательно ею можно манипулировать как объектом

→ Ссылка