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