Frage

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?

War es hilfreich?

Lösung

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();
})();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top