可能重复:
JavaScript:var functionName = function() {} vs function functionName() {}
是否有任何适用的理由可以使用var
s 声明函数而不仅仅是常规函数定义,尤其是在处理闭包时。
显然,在我演示之前,这可能没有多大意义,所以我会!
注意:我使用 require.js 来说明这一点
示例 A:我通常如何做事
define(function() {
function foo(x) {
return x + 42;
}
function bar(y) {
return y + foo(y);
}
var MyObject = function(config) {
// some sweet stuff
}
MyObject.prototype = {
myFun: function(x) {
return bar(x)
}
}
return MyObject;
})
示例 B:我的看法
define(function() {
var foo = function(x) {
return x + 42;
}
var bar = function(y) {
return y + foo(y);
}
var MyObject = function(config) {
// some sweet stuff
}
MyObject.prototype = {
myFun: function(x) {
return bar(x)
}
}
return MyObject;
})
我认为两者之间一定有一些区别,也许...... :)
感谢您的时间和精力!
编辑:试图以更明智的方式提出问题!