【发布时间】:2011-05-05 07:16:03
【问题描述】:
- 我想知道是什么 区别 (优点/缺点)之间 以下模式。
- 如何创建基于子模块 关于模块模式?
我的目标是将我的 js 组织成 多个文件,这些文件延迟加载,但只有一个命名空间。
例如:
SO.global (global.js) SO.global.registration (registration.js)
var SO = function(){
var CONSTANT = 'Z';
function createX(){
alert("create X");
}
function getY(){
alert("get Y");
}
return{
create:createX,
get:getY
}
}();
//SO.createX();
//SO.getY();
VS.
var SO = (function() {
var CONSTANT = 'Z';
function createX(){
alert("create X");
}
function getY(){
alert("get Y");
}
return {
create:createX,
get:getY
}
} ());
【问题讨论】:
-
这两个例子没有区别......一个有括号,但他们应该做同样的事情。
-
有些人使用第二个示例中的附加括号来指示函数表达式被立即调用。
-
我认为括号在该约定的错误位置。我相信它通常写成 (function(){...})()
标签: javascript namespaces module-pattern