2013-05-02 53 views
0

我試圖編寫我的第一個非黑客了jQuery插件,我努力創建一個基本對象的構造函數,公共變量,私有變量和函數。正確的方法來創建一個可重用的jQuery對象

http://jqueryboilerplate.com/對創建擴展jQuery的對象有一個很好的指導,但我不認爲這是一個沒有附加到DOM元素的通用對象的正確方法。

有沒有人有用於創建基本可重用對象的樣板模板?即

var calc = new CustomCalculator({'starting_value': 42}); 
calc.add(3); 
calc.multiplyBy(2); 
alert(calc.total); // Alerts (42 + 3) * 2 = 90 
+0

真的不明白你的例子代碼是如何有什麼用jQuery 。 – 2013-05-02 18:16:51

+0

jQuery Boilerplate實際上相當不錯。它處理私有變量並以正確的方式擴展jQuery。 – 2013-05-02 18:17:58

回答

1

從您的代碼示例似乎你只需要創建一個JS對象的基本途徑。 這會做的伎倆(但也有很多其他的方法來做到這一點):

function CustomCalculator(options){ 
    var self = this; 
    self.total = options.starting_value; 

    self.add = function(term){ 
     self.total += term; 
    }; 

    self.multiplyBy = function(term){ 
     self.total = self.total * term; 
    }; 
} 

var calc = new CustomCalculator({'starting_value': 42}); 
calc.add(3); 
calc.multiplyBy(2); 
alert(calc.total); // Alerts 90 

你最好還是要執行字符串連接,但我會離開,你

如果你想要私有變量,你應該使用閉包。 我最近寫了一篇關於JavaScript的命名空間和模塊,可以幫助您的一篇文章:http://www.kenneth-truyers.net/2013/04/27/javascript-namespaces-and-modules/

這裏還有另外一個專門關於私有變量:http://www.kenneth-truyers.net/2012/04/22/private-variables-in-javascript/

+0

這是完美的肯尼思。我也會閱讀你的文章。萬分感謝!順便說一句 - 我還沒有明確隱藏私有變量的重要性。我想我應該Google。 :) – Anthony 2013-05-02 18:29:36

相關問題