使用立即调用的函数表达式创建对象时,使用内部或外部对象引用有什么实际区别吗?例子:
var external = (function(){
var internal = {};
internal.a = function(){
//... do stuff
}
internal.b = function(){
internal.a();
// ^ OR v
external.a();
}
return internal;
})();
两者都有效。我能想到的唯一区别可能internal
是在没有直接调用它的情况下被调用后清理,但这可能没有实际意义,因为同一个对象存在于external
. 如果有重复,请原谅我 - 我无法清楚地表达我想知道的内容,以便搜索引擎给我一个明确的答案。
谢谢!