如何优化我的javascript对象?

时间:2013-07-09 14:40:27

标签: javascript jquery

嗨伙计们我怎样才能更好地优化我的js对象..你可以看到有很多重复,我想找到更好的方法来编写这个对象。我是JS的新手,这就是为什么这么愚蠢的问题。 提前谢谢。

//field odject
var $field = $("#field");
var field = {
    width: $field.width(),
    offsetTop: $field.offset().top,
    offsetLeft: $field.offset().left,
    offsetRight: $field.offset().left + $field.width(),
    offsetBottom: $field.offset().top + $field.height()
};

2 个答案:

答案 0 :(得分:3)

我猜你在构造这个对象时如何不进行这么多的方法调用?

您可以使用一些变量来缓存多次使用的值:

var $field = $("#field");
var width = $field.width();
var offset = $field.offset();
var top = offset.top;
var left = offset.left;

var field = {
    width: width,
    offsetTop: top,
    offsetLeft: left,
    offsetRight: left + width,
    offsetBottom: top + $field.height()
};

答案 1 :(得分:0)

function field($sel){

     //field odject
     var $field = $($sel);
     var offset = $field.offset();
     var field = {
         width: $field.width(),
         offsetTop:offset.top,
         offsetLeft: offset.left,
         offsetRight: offset.left + $field.width(),
         offsetBottom: offset.top + $field.height()
     };

     return field;

}

您可以通过创建构造函数来扩展您的功能,并从函数中返回对象。