JavaScript中的"常用"函数与函数变量

alt*_*tso 22 javascript

两者之间有什么区别吗?

function MyFunc() {
    // code...
}
Run Code Online (Sandbox Code Playgroud)

var MyFunc = function() {
    // code...
};
Run Code Online (Sandbox Code Playgroud)

在JavaScript?

mck*_*k89 9

我知道它们之间的区别在于命名函数在任何地方都可以工作,无论你是否声明它们,变量中的函数都没有.

a();//works   
function a(){..}
Run Code Online (Sandbox Code Playgroud)

作品

a();//error
var a=function(){..}
Run Code Online (Sandbox Code Playgroud)

不起作用,但如果你在声明它之后调用它

var a=function(){..}
a();//works
Run Code Online (Sandbox Code Playgroud)


Pas*_*TIN 7

本文可能会回答您的问题:JavaScript函数声明歧义.

只有第一个是实际的函数声明,而速记方法只是一个常规变量声明,并将匿名函数指定为它的值.

(看一下评论,也可能会得到一些有用的信息)

  • 一个链接可以解释一切,但在这里也有一个小概要总是更好一点. (3认同)
  • 小心评论; 其中一些是不正确的. (2认同)