Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jquery插件开发模式_Javascript_Jquery_Design Patterns - Fatal编程技术网

Javascript jquery插件开发模式

Javascript jquery插件开发模式,javascript,jquery,design-patterns,Javascript,Jquery,Design Patterns,这就是我通常实现插件的方式: (function($){ $.fn.plugingName = function(inSettings){ //code that extands settings with default return this.each(function(){ new PluginClass($(this), settings); }); } PluginClass = function

这就是我通常实现插件的方式:

(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(){
}();
如果有更好的方法来区分算法的主要部分。我希望我把一切都描述清楚


所有其他可能使用所表示的代码进行的改进也将受到赞赏。

您的意思是将
函数main()
放在大包装
函数($)之外{…
?但这不是我们想要的,包装函数的存在正是为了不过度包装全局名称空间。这是非常干净的设计,也是我们想要的。所以不要担心使用这个标准模式。

不是真的。我说的是放main(或另一种方法)对于“这是一个问题的地方”的评论,我想将声明和实现部分从入口点分离出来,以强调算法的开始。类似于C/C++/Java中的主函数等