我通常如何实现我的插件:
(function($){
$.fn.plugingName = function(inSettings){
//code that extands settings with default
return this.each(function(){
new PluginClass($(this), settings);
});
}
PluginClass = function(jElem, settings){
//here I usually put variable and function in such a way to compose better
var events = {
onMouseUp : function(){
//some actions
},
onMouseMove : function(event){
//some actions
},
//etc.
},
draw = {
drawGrid : function(){//some actions},
//etc.
},
//etc.
/*****************************
* This is a place of question
****************************/
}
})(jQuery);
我只是想知道是否有一种模式将算法与我上面描述的声明部分分开。有些事情就是将所有算法部分放在
中function main(){
}();
如果有更好的方法来区分算法的主要部分。我希望我能清楚地描述一切。
所有其他可能通过代表代码完成的改进也值得赞赏。
答案 0 :(得分:1)
您的意思是将function main()
放在大包裹function($){ ...
之外?但这不是必需的,包装函数的存在是因为不能覆盖全局命名空间。这是非常干净的设计,是理想的。所以不要担心使用这种标准模式。