2011-02-10 46 views
2

我想知道哪種方式更有效地使用jQuery數據綁定對象的數據或使用這種類型的對象。我正在嘗試爲我的應用創建某種模型。下面是目標代碼jQuery數據()vs對象(性能)

var PersonData = function() { 
    var that = {}, 
     _name = 0, 
     _age = 0.0, 
     _domId = false; 

    that.data = initData(); 

    //This is for initing data from options 
    function initOptions() { 
     return { 
      name: _name, 
      age: _age, 
      domId: _domId 
     } 
    } 

    that.setName = function (name) { 
     that.data.name = name; 
    } 

    that.getName = function() { 
     that.data.name; 
    } 

    // I forgot to add dom id, now there is id for binding 
    that.setDomElementId = function (id) { 
     that.data.domId = id; 
    } 

    //Add getters and setter 

    return that; 
} 

感謝您的意見

順便問一下有沒有好的插件生成getter和setter方法在TextMate中的JavaScript

+0

請爲另一個問題預留「順便」提問。 – 2011-02-10 06:21:08

+0

具有默認屬性的數據結構的習慣用法是:function PersonData(name,age){this.name = name || 「」; this.age = age || 0; ``儘管像這樣的falsy默認情況下,我會讓他們不確定。 – 2011-02-10 06:25:37

回答

5

jQuery的.data()是用於連接數據到DOM元素。如果您沒有觸摸DOM,請不要觸摸.data()。另外,我並不認爲你想要的封裝類型在JavaScript中是值得的(,除非你需要它來檢測數據讀/寫)。 特別是如果你關心性能,直接訪問對象的屬性是一個更好的選擇。 JavaScript是一種動態語言,擁抱它:)