O'Reilly logo
  • Ahmed Elgendy thinks this is interesting:

It is a little subtle. First of all, you’re right—whether you use a function declaration or a function expression, you end up with a function. But there are some important differences between the two. For one, with a declaration, a function is created and setup before the rest of the code gets evaluated. With a function expression, a function is created as the code executes, at runtime.

Another difference has to do with function naming—when you use a declaration, the function name is used to create and set up as a variable that refers to the function. And, when you use a function expre...

From

Cover of Head First JavaScript Programming

Note

Another aspect of another major difference between function declaration and function expression?
In function expressions, functions do not have names but in function declarations, function have names.