假设我想开发一个库,该库将保持非常小的核心并且可以通过插件进行扩展。
所以我基本上想出了以下规模的东西:
(function(window){
window.SomeLibrary =(function(){
var api = {
init: function(){
console.log('hi');
privateFunction();
},
plugin: function(callback) {
callback.call();
}
};
var privateFunction = function() {
console.log('im a private method');
};
return api;
}());
})(window);
SomeLibrary.init();
SomeLibrary.plugin(function(){
console.log('im a plugin');
privateFunction(); //fails;
});
如何使插件回调执行 SomeLibrary 私有和公共方法?
提前致谢。