Is there any difference between
function MyFunc() {
// code...
}
and
var MyFunc = function() {
// code...
};
in JavaScript?
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.
©2020 All rights reserved.