在我正在进行的一个项目中,我将我的代码结构化如下:
MyLib = {
AField:0,
ASubNamespace:{
AnotherField:"value",
AClass:function(param) {
this.classField = param;
this.classFunction = function(){
// stuff
}
}
},
AnotherClass:function(param) {
this.classField = param;
this.classFunction = function(){
// stuff
}
}
}
以此类推,做像这样的事情:
var anInstance = new MyLib.ASubNamespace.AClass("A parameter.");
这是实现命名空间的正确方法吗?是否存在性能损失,如果有,损失有多严重?当我嵌套深度增加时,性能下降是否会叠加?在使用此结构时,我还应该注意哪些其他问题?
我非常关心每一个性能细节,因为这是一个用于实时图形的库,所以我非常认真地处理任何开销。