“Usual” functions vs function variables in JavaScript [duplicate]

Is there any difference between

function MyFunc() {
    // code...
}

and

var MyFunc = function() {
    // code...
};

in JavaScript?

Answers:

Answer

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)

Answer

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
Answer

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.

Tags

Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.