如果我不开始使用某种命名空间技术,我的代码将会变得一团糟。我对大型 javascript 项目的编程相对较新,但在 C++/java/python 等系统编程方面有丰富的经验。
基本上,我试图确定创建 javascript 命名空间的首选方法,以及每种方法的优缺点。
例如,我可以使用以下三种方法之一:
var proj.lib.layout = {
"centreElem":
function (elem, W, H){
},
"getAbsolutePosition":
function (elem){
}
};
或者
var proj.lib.layout = {};
(function(){
var l = proj.lib.layout;
l.centreElem = function (elem, winW, winH){
..
}
l.getAbsolutePosition = function (elem){
..
}
})();
或者
var proj.lib.layout = new function(){
function centreElem(elem, W, H){
..
}
function getAbsolutePosition(elem){
..
}
this.centreElem = centreElem;
this.getAbsolutePosition = getAbsolutePosition;
} ();
显然还有其他方法可以做到这一点,但这些是我看到和想到的第一个。谁能说有一种“最好”的技术,或者至少指出我可以从中评估哪些最适合我的一些优点/缺点?