好的。我有这个lib中我的内部项目我需要一些关于库设计的批评
(function() {
var window = this,
undefined; //guaranteed undefined
var h3 = window.h3 = function (user) { return window.h3 = new h3.prototype.init(user); };
h3.prototype = {
init: function(user) {
this.timestamp = +new Date;
this.user = user;
return this;
},
VERSION: '0.0.1', // Current version.
timestamp: undefined,
user: undefined,
a: function() {alert('a');}
};
h3.prototype.init.prototype = h3.prototype;
})();
下面是一个用例: 我需要将存储会话的用户数据,并提供应用程序的一些功能,如加载(通过AJAX)的信息,显示报告等申请一个lib完全由AJAX驱动。在jQuery的帮助下,我将检查用户凭据并使用h3({user:'user_a',foo:'bar'})
调用来初始化此库。因此,我将有一个名为h3的全局对象,并可以使用它后者(如h3.a()
)。如果我需要重新初始化这个对象,我可以用h3.init({user:'user_b',foo:'bla-bla-bla'})
调用。
设计灵感来自着名的jQuery lib。
而主要问题是 - 这有多好/坏?你能帮我验证这个设计吗?
好坏不谈,有你实现并测试它?它工作吗? – 2009-11-26 10:09:04
是的,它的工作。但是我没有在广泛的环境中测试它。 – NilColor 2009-11-26 10:18:30