【发布时间】:2012-06-17 15:57:20
【问题描述】:
可能重复:
What is the difference between a function expression vs declaration in Javascript?
以这些方式声明函数之间是否存在主要区别:
function foo(){ alert('BAR'); }var foo = function (){ alert('BAR'); }var foo = function bar(){ alert('BAR'); }
有人告诉here:
它发生在不同的时间,并导致一个引用匿名函数的变量。函数声明发生在范围内执行任何逐步代码之前,并导致绑定和具有正确名称的函数。
我声明函数的方式真的会影响我的代码效率吗?如果是的话,哪种方式最好用?
【问题讨论】:
-
在问这个问题之前你有没有研究过?网络上有很多关于这个的解释。
-
@Angel 是的,我做到了,我得到了非常非常复杂的意见......
-
@Somebodyisintrouble 您可以在活动中致电他们中的任何一个。
-
简而言之,命名函数表达式仅对一件事有用——调试器和分析器中的描述性函数名称。好吧,也有可能使用函数名进行递归,但是您很快就会发现这在当今通常是不切实际的。如果您不关心调试体验,则无需担心。 kangax.github.com/nfe.
-
对这个问题的反对意见对我来说似乎非常苛刻。 (接近投票是有道理的。)
标签: javascript function