'var foo = function ...'和'function foo()......之间的区别

时间:2010-11-30 13:48:48

标签: javascript syntax

  

可能重复:
  “Usual” functions vs function variables in JavaScript
  What do you call this JavaScript syntax, so I can research it?

之间是否存在根本区别?
function foo()
{
    things();
}

var foo = function()
{
    things();
}

或者function ...只是语法糖吗?

提前致谢。

1 个答案:

答案 0 :(得分:21)

它们不同(但产生类似的结果)。基本上,第一个是实际命名的函数。第二个是带有匿名函数的常规变量声明。有一些细微的差别......在这里总结得很好:

JavaScript Function Declaration Ambiguity(一定要阅读评论......那里有更多好消息)