我正在尝试构建一个简单的插件架构,允许使用一个很好的简单 API。考虑以下代码:
//the core library namespace
var testObj = {};
//constuctor
testObj = function() {
};
//The plugin
testObj.prototype.test = (function(){
var i = 0;
var init = function() {
alert('initialized');
}
return {
init: init,
render: function(){
return i;
}
};
}());
var p = new testObj();
//p.test.init();
p.test();
在这里工作小提琴:http: //jsfiddle.net/8LwRL/
我希望用户能够通过执行 p.test() 来调用 init 方法。目前这不起作用,任何使用该插件的人都必须调用 p.test.init()。有什么方法可以将其抽象出来,以便用户可以按名称调用原型方法并让 init 自动运行?