2014-02-27 50 views
0

我正在編寫一個JQuery插件,目前爲止都很好...雖然我有一個問題,我似乎無法找到答案。理解JQuery插件函數的可用性

首先,讓我們說這是插件骨架

(function ($) { 

var outterFunction = function() {}; 

    $.fn.cssLive = function (getTargets, getStyles) { 
     /// Some Stuff 
     var innerFunction = function() {}; 
    } 

}(jQuery)); 

我的問題如下...

  1. 要麼是innerFunctionoutterFunction在全球推出?
  2. 如果我不需要它在全球範圍內可用,outterFunction應該在$.fn.cssLive內聲明嗎?
  3. 最後,如果outterFunction要求開發人員使用我的插件設置變量,我會延長$.fn.cssLive嗎?如果是這樣,怎麼樣?

我的插件是目前相當大,似乎最重要的是我的功能在outterFunction的境界,原來我只使用了$.fn.cssLive得到兩個參數。這是標準還是大部分插件都具有主插件功能中的所有功能。

我會在這裏回答任何問題,或者在需要時來回回答。

預先感謝您!

+1

1.否2.否---- –

+0

1.是否可以在全球範圍內使用這些方法 答案:不會,因爲它們在本地範圍內聲明 –

+0

3.您能解釋一下您的意思通過*我會擴展$ .fn.cssLive *? –

回答

1

1)無 2)這取決於它做什麼,但可能引入更嚴格的範圍 3)沒有它不會被延長了,但我不知道這是你問

什麼
+0

好吧,關於問題3,是否有一個優雅的方式讓用戶聲明一個對象,除了僅僅使用myObj = {key:「value」}''' – VIDesignz

+0

我的插件需要創建一個javascript對象有很多種方法,我不會說一種方式比另一種更優雅。 EC5方法可能更直觀,但往往歸結爲偏好。以下是我用於5的參考資料:http://kangax.github.io/es5-compat-table/ – eXecute