2012-05-17 63 views
0

我开始一个插件更好的编码,这将是一个“大”的插件,用了很多的代码...的jQuery插件

什么你们sugest我做什么?

方法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和类似的聊天应用程序,它将与Pusher.com一起使用,它将以各种语言提供,等等......我希望它是eas Ÿ设置,这就是为什么我有$ .Config和配置变量那里...

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

+1

这两种选项都不是[编写jQuery插件的规范方式](http://docs.jquery.com/Plugins/Authoring)。 –

+1

我投票结束了这个。您应该完整阅读http://docs.jquery.com/Plugins/Authoring。 –

回答

0

方法2的可读性更强,嵌套更清晰,并且速度更快 - 提高了92%。
但你应该阅读jQuery documentations关于如何以正确的方式做到这一点。

1

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

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

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

要使用可以根据上述问题而改变的方式。在开始编码之前找到最适合您的目标的方法。

你可能想搜索jquery插件样板找到人们如何做的例子。

+0

谢谢,第三点插件不会使用任何元素来启动,但我会看看你提到的jquery插件样板文件! –