更好地编写jQuery插件

时间:2012-05-17 22:14:41

标签: jquery jquery-plugins plugins performance

我正在开始一个插件,它将是一个“大”的插件,有很多代码......

你们要我做什么?

方法1

    $.Config = { myValue : 'My Value 1' }
    $.Test_1 = function(){ }
    $.Test_1.myFunction = function()
    {
        alert('My Function 1');
    }
    $.Test_1.access = function()
    {
        alert( $.Config.myValue );
    }
    $.Test_1.access();

方法2(我更喜欢)

    $.Test_2 = {
        Config : {
            myValue : 'My Value 2'
        } ,

        myFunction : function()
        {
            alert('My Function 2');
        } ,

        access : function()
        {
            alert( this.Config.myValue );
        }
    }
    $.Test_2.access();

我更喜欢第二种方法,它更清洁,更好理解,但我不知道它是否更有效..

该插件是一个聊天应用程序,如Zopim和similars,它将与Pusher.com合作,它将提供各种语言等...我希望它很容易设置,这就是为什么我有$。那里的配置和配置变量......

请让我知道你们对此的看法,谢谢!

2 个答案:

答案 0 :(得分:1)

如果我是你,我会问自己这些问题:

  • 我的插件可以实例化吗?如果有人使用我的插件,他可以在一个页面中多次使用它吗?
  • 我的插件会使用一个元素来启动像$(element).myplugin(),还是会像$ .myplugin()一样调用,或者两者兼而有之?
  • 我的插件将如何处理静态DOM及其创建的DOM上的事件?
  • 有人可以将一个函数延迟绑定到我的插件事件吗?像:

    $(element).bind("onmypluginevent",function()...

您要使用的方法可能会因上述问题而异。在开始编码之前,找到最适合您目标的方法。

您可能需要搜索 jquery插件样板,以查找人们如何操作的示例。

答案 1 :(得分:0)

方法2更易读,嵌套,更清晰,according to tests - 快92% 但你应该阅读jQuery documentations关于如何以正确的方式做到这一点。

相关问题