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();
})();
题
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?
解决方案
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();
})();