2012-05-17 83 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插件樣板文件! –