3 ms·
Assigning a variable as a pointer to an anonymous function: var Box = function(a, b) {}; as opposed to the simpler: function Box(a, b) {} makes no s
by protonfish 12y ago
Assigning a variable as a pointer to an anonymous function:
var Box = function(a, b) {};
as opposed to the simpler:
function Box(a, b) {}
makes no sense. It is more verbose for zero benefit and makes all functions anonymous so you will never see that it is the Box function being called in your debuggers and profilers. If you want to enforce functions being declared before they are called, use JSLint (which you should be doing anyway.)
- dkyc 12y agoA lot of people use notation #1 to do namespacing by using objects, eg var MyProject = {}; MyProject.func = function() {} If you ever want to assign a function to an object, you might as well do it with global-scope functions. Most debuggers/profilers I am aware of can handle this notation well. If they don't, there is still the possibility of doing var Box = function Box (a, b) {} The function does not have to be anonymous!
- ShellfishMeme 12y ago+1 for the named function expression. I really don't like pure function statements because of hoisting. You often end up seeing functions being used before they're defined which can lead to confusing bugs and hurts readability. I also like that `var Box = function Box (a, b) {}` directly shows people who are new to JS that function declarations are nothing else than just assigning a function to a variable.
- nawitus 12y agoI prefer: var Box = (a, b) => {}; I guess I just think that the more verbose form is more readable.
- krasimir-tsonev 12y agoI feel that "var Box = function(a, b) {};" is more readable (or at least for me)