我曾经喜欢使用 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(),不是对象FooA 和 FooB 的方法。
如果嵌套在对象内部的函数实际上不是其周围对象的方法,是否可以从任何地方调用它?还是正常范围规则适用?
为了让生活变得更加可读和快乐,我一直将类似于 FooA 和 FooB 的对象分类为构造函数,并将构造函数内的任何方法(例如 bar())分类为 FooA 和 FooB 的方法。这可能不正确,但至少它是有组织的。有什么建议么?
谢谢你的帮助!