В чем разница между следующими строками кода?
//Function declaration
function foo() { return 5; }
//Anonymous function expression
var foo = function() { return 5; }
//Named function expression
var foo = function foo() { return 5; }
- Что такое выражение функции named/anonymous?
- Что такое объявленная функция?
- Как браузеры имеют дело с этими конструкциями по-другому?
Каковы ответы на аналогичный вопрос (var functionName = function() {} vs function functionName() {}) не получается точно?