var varName = function funcName() {}
本问题已经有最佳答案,请猛点这里访问。
两者有什么区别
1 | var a = function() {} |
和
1 | var a = function b() {} |
后者,b是未定义的?
第一个是匿名函数表达式,第二个是命名函数表达式,两者都在javascript中有效。
例如,它可以用于没有
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | var a = function b(){ return b; }; function c() { return c; } var d = function e() { return e(); }; d(); // maximum call stack size exceeded :P var f = c; c = null; f(); // null a(); // function b();// undefined not a function b; // not defined a()(); // same function again |
第二个是一个命名的匿名函数-该名称将出现在stacktrace中(否则在stacktrace中,您将只看到"匿名函数")。
1 | var a = function() {} |
函数名可以省略。在这种情况下,函数名被省略。这些函数称为匿名函数。
有关详细信息,请阅读有关JavaScript作用域和匿名函数优缺点的信息。