"Usual" functions vs function variables in JavaScript
This question already has an answer here:
This article might answer your question : JavaScript function declaration ambiguity.
Only the first one is an actual function declaration, whereas the shorthand method is just a regular variable declaration with an anonymous function assigned to it as its value.
(look at the comments, too, which might get some useful informations too)
I know that a difference between them is that named functions work everywhere regardless you declare them, functions in variables don't.
a();//works
function a(){..}
works
a();//error
var a=function(){..}
doesn't work but if you call it after the declaration it works
var a=function(){..}
a();//works
There is no difference superficially, so you can use both formats in your code.
To js interpreter it is different though.
First one is a named funciton.
Second one is an anonymous function that gets assigned to a variable.
Also, while debugging, you won't get a name of for the second function in stack trace.
链接地址: http://www.djcxy.com/p/2836.html