关于javascript:”var foo=function…”和”function foo()…”的区别

Difference between 'var foo = function …' and 'function foo() …'

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicates:
“Usual” functions vs function variables in JavaScript
What do you call this JavaScript syntax, so I can research it?

两者之间有根本区别吗

1
2
3
4
function foo()
{
    things();
}

1
2
3
4
var foo = function()
{
    things();
}

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

事先谢谢。


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

javascript函数声明不明确(请务必也阅读注释…这里有更多好的信息)