【发布时间】:2012-12-13 09:30:32
【问题描述】:
我以前喜欢使用 js。现在我只是沮丧。我正在尝试对我老板购买的大量代码进行 jsDoc 处理。作者没有提供 API,所以我将使用 jsDoc 创建一个。
不幸的是,代码不清晰,一个js文件中包含大约10k行代码。我过去使用过对象文字,这不是对象文字。参数和函数不使用逗号分隔。此外,从不使用原型,但使用新运算符。我看过几本书,命名空间似乎是最接近的“风格”。这是程序的一般流程。我的问题遵循示例。
(function () {
var global = (function () {return this; } ).call();
global.X = {};
})();
X.init = function(){
X.MyObjectA = new X.FooA();
X.MyObjectB = new X.FooB();
}
X.FooA = function() {
var storeStuff;
do stuff
.
.
function bar(){
var storeSomething;
do something
do somthing else
.
.
moreFunctions(){}
var moreVars;
.
.
}
this.anOccasionalFunctionLiteral = function(){}
.
.
}
X.FooB = function(){
Similar contents of FooB()
}
.
.
.
Continues forever...
所以我的问题是:
这是什么风格!?当我说风格时,我想我的意思是 FooA 和 FooB 是什么?他们是对象吗?上课?
如果嵌套函数不是 X.FooA 或 X.FooB 的成员,我应该给嵌套函数起什么标题。有人告诉我嵌套函数,包括 bar(),不是 objects FooA 和 FooB 的方法。
如果嵌套在 object 中的函数实际上不是其周围对象的方法,是否可以从任何地方调用它?还是适用正常范围规则?
为了让生活更加可读和快乐,我一直将类似于 FooA 和 FooB 的 对象 归类为构造函数,并将构造函数中的任何方法(例如 bar())归类为 FooA 和 FooB 的方法。这可能不正确,但至少它是有组织的。有什么建议吗?
感谢您的帮助!
【问题讨论】:
标签: javascript class object constructor jsdoc