javascript - jquery插件开发模式

标签 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(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(){
}();

如果有更好的方法来区分算法的主要部分。我希望我把一切都描述清楚了。

所有其他可以用代表代码完成的改进也很感激。

最佳答案

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

关于javascript - jquery插件开发模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6787633/

相关文章:

javascript - 在 jQuery weekcalendar 插件中为事件设置不同的背景颜色

javascript - 对 document.documentElement 感到困惑

javascript - 在循环中使用 promise 的 node js,mongodb 中没有得到结果

javascript - 为什么我的 UI 应用嵌套在 Bootstrap 模式中时无法运行?

javascript - jQuery 删除中继器中的输入值

javascript - 使用 jQuery 获取文本

java - 练习您的微架构技能

javascript - 删除类隐藏后,窗口调整大小不起作用

c# - 用于检查值是否存在的更好的代码/模式

java - 如何在 Java 中不公开公共(public)接口(interface)