我确信之前已经问过,但是找不到它......所以我试试看。
由多个域组成的Wen编码项目我通常将它们分成两组。
作为一个例子,我有一个维护缓存的项目。由于只应该有一个缓存,因此通常写为:
var cache = {
head : null,
tail : null,
clear : function () {
cache.head = null;
cache.tail = null;
...
},
add : function () { ... },
remove : function () { ... },
...
};
或类似的东西:
var cache = {};
cache.push = function (d) {
...
};
cache.flush = function (d) {
...
};
其他对象应该重复,或者可能有一天,并编码为:
function Foo() {
...
}
Foo.prototype.bar = function () {
...
};
现在;我的问题是这种做法是否存在任何特殊的缺点。特别是生成静态对象的方式。或者,反过来说;任何特别的优点。我发现的大多数事情都在讨论复制对象时原型的优点。在构造函数中使用原型而不是this
等。很少有人解决静态对象的细节问题。也许是因为它很直接?