jQuery data()vs Objects(性能)

use*_*980 2 javascript performance jquery

我想知道哪种方式使用jQuery数据绑定对象数据或使用这种对象更有效.我正在尝试为我的应用程序创建某种模型.这是目标代码

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;
}
Run Code Online (Sandbox Code Playgroud)

谢谢你的意见

顺便说一句,有一个很好的插件用于生成javascript的textmate中的getter和setter

Dav*_*ang 5

jQuery .data()用于将数据附加到DOM元素.如果您没有触摸DOM,请不要触摸.data().

另外,我不认为你想要的封装类型在JavaScript中是值得的(除非你需要它来检测数据读/写).特别是如果您关注性能,直接访问对象的属性是一个更好的选择.JavaScript是一种动态语言,拥抱它:)

  • @user 这真的取决于你想如何访问你的对象。如果你把它们保存在一些 JS 数组/对象中,那么坚持你所拥有的。如果您希望能够通过 jQuery 选择器访问它们...然后使用 jQuery 的`.data()`。但在性能方面,直接属性访问比函数调用更快。 (2认同)