2011-02-10 47 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是一种动态语言,拥抱它:)