JavaScript中的“常用”函数与函数变量

时间:2009-08-26 10:47:45

标签: javascript

之间有什么区别吗?
function MyFunc() {
    // code...
}

var MyFunc = function() {
    // code...
};
在JavaScript中

3 个答案:

答案 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。

第二个是分配给变量的匿名函数。

此外,在调试时,您将无法获得堆栈跟踪中第二个函数的名称。