之间有什么区别吗?
function MyFunc() {
// code...
}
和
var MyFunc = function() {
// code...
};
在JavaScript中?
答案 0 :(得分:9)
我知道它们之间的区别在于命名函数在任何地方都可以工作,无论你是否声明它们,变量中的函数都没有。
a();//works
function a(){..}
作品
a();//error
var a=function(){..}
不起作用,但如果你在声明之后调用它
var a=function(){..}
a();//works
答案 1 :(得分:6)
本文可能会回答您的问题:JavaScript function declaration ambiguity。
只有第一个是实际的函数声明,而速记方法只是一个常规变量声明,并将匿名函数指定为它的值。
(看一下评论,也可能会得到一些有用的信息)
答案 2 :(得分:-1)
表面上没有区别,因此您可以在代码中使用这两种格式。
对于js解释器,它有所不同。
第一个是一个名为funciton。
第二个是分配给变量的匿名函数。
此外,在调试时,您将无法获得堆栈跟踪中第二个函数的名称。