我知道这两者之间的区别是什么:
var myFunction = function(a) { ... }
function myFunction2(a) { ... }
我无法弄清楚何时我应该使用第一个和第二个。
我看到了var functionName = function() {} vs function functionName() {},但正如我所说,我知道这两者之间的区别是什么。
答案 0 :(得分:1)
嗯,这两个选项在重复的帖子中有利有弊。如果您使用:
var functionOne = function () { … }
function functionTwo () { … }
然后functionOne
在定义之前的块中不存在,并且在运行时定义。另一个选项functionTwo
是在解析时定义的,可以在程序中的任何地方调用。另一个变化是函数内this
的行为。
基本上,你的问题是:
为了得到这些问题的完整答案,我真的建议你阅读并重读Crockford "Javascript the good parts"的短篇小说,看起来@ wumm的suggested article也非常相关。 / p>