“Usual” functions vs function variables in JavaScript
本问题已经有最佳答案,请猛点这里访问。
两者有什么区别吗
1 2 3 | function MyFunc() { // code... } |
和
1 2 3 | var MyFunc = function() { // code... }; |
在JavaScript中?
我知道它们之间的区别在于,命名函数在任何地方都可以工作,不管您声明它们,变量中的函数都不工作。
1 2 | a();//works function a(){..} |
作品
1 2 | a();//error var a=function(){..} |
不起作用,但如果你在申报后打电话,它就起作用了
1 2 | var a=function(){..} a();//works |
本文可能会回答您的问题:javascript函数声明不明确。
只有第一个是实际的函数声明,而速记方法只是一个正则变量声明,其值为一个匿名函数。
(也请看评论,这些评论可能也会得到一些有用的信息)
表面上没有区别,所以您可以在代码中使用这两种格式。
对于JS解释器来说,这是不同的。
第一个是一个叫funciton的。
第二个是一个匿名函数,它被分配给一个变量。
此外,在调试时,您将无法获得堆栈跟踪中第二个函数的名称。