【问题标题】:Difference between 'var foo = function ...' and 'function foo() ...' [duplicate]'var foo = function ...' 和 'function foo() ...' 之间的区别 [重复]
【发布时间】:2011-05-17 21:33:41
【问题描述】:

可能的重复:
“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 ... 只是语法糖?

提前致谢。

【问题讨论】:

    标签: javascript syntax


    【解决方案1】:

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

    JavaScript Function Declaration Ambiguity(请务必阅读 cmets...更多好信息)

    【讨论】:

    • 仅供参考,看起来作者已经摆脱了该帖子中的 cmets。不过还是值得一读。
    • var foo = function(){} 只是 VARIABLE DEFINING,定义前会是 undefined即使直到代码中的其他部分才声明它们。
    • @Eric Andres,好像作者也摆脱了网站/域;)
    猜你喜欢
    • 1970-01-01
    • 2015-03-08
    • 2013-03-03
    • 2012-07-26
    • 1970-01-01
    • 1970-01-01
    • 2016-12-01
    • 2015-05-06
    • 1970-01-01
    相关资源
    最近更新 更多