JavaScript中的“通常”函数与函数变量
这个问题在这里已经有了答案:
本文可能会回答您的问题:JavaScript函数声明歧义。
只有第一个是一个实际的函数声明,而速记方法只是一个常规变量声明,其中一个匿名函数被赋值为它的值。
(也可以看看评论,这也可能会得到一些有用的信息)
我知道它们之间的区别在于,无论您声明它们,命名函数在任何地方都能正常工作,变量中的函数不会。
a();//works
function a(){..}
作品
a();//error
var a=function(){..}
不起作用,但如果您在声明后使用它,则可以调用它
var a=function(){..}
a();//works
表面上没有区别,所以你可以在你的代码中使用这两种格式。
对于js解释器,它是不同的。
第一个是有名的功能。
第二个是分配给变量的匿名函数。
另外,在调试的时候,你不会得到堆栈跟踪中第二个函数的名字。
链接地址: http://www.djcxy.com/p/2835.html