好的。我有這個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