以下代码有什么区别?
//Function declaration
function foo() { return 5; }
//Anonymous function expression
var foo = function() { return 5; }
//Named function expression
var foo = function foo() { return 5; }
问题:
- 什么是命名/匿名函数表达式?
- 什么是声明函数?
- 浏览器如何处理这些结构的不同之处?
类似问题的回答(var functionName = function() {} vs function functionName() {})没有完全正确地回答什么?