Domanda

The following line:

var A = function def() {alert();};

Only A() invokes the function. def() does not. Why is it so? Isn't the left side a function delaration?

È stato utile?

Soluzione

In the function expression the function name is primarily used for self-calling. IRL this feature is handy in case of anonymous functions and recursive calls, i.e.

(function def() {
    // ...
    def();
})();
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top