应该在javascript中声明对象属性吗?

时间:2014-06-20 08:12:14

标签: javascript optimization language-theory

在JS函数中,我将使用对象resultModel,其中包含两个属性idArraynameArray。宣布这个的正确方法是什么?

目前我将var resultModel的对象与函数顶部的其他变量一起声明,但我只是通过在函数后面的循环中为它们赋值来开始使用这些属性:

   resultModel.idArray.push(someValue[i][0]);
   resultModel.nameArray.push(someValue[i][1]);

当然,我知道var关键字对于作用域很重要,并且因为在函数中声明了“根”标识符,所以我避免任何全局篡改,这一切都很好。但是我期望值的属性确实也应该以某种方式声明,除了范围之外的其他原因 - 内存分配会出现在脑海中,可能通过JSDoc注释,可读性和纯粹的声明完整性来提示。

所以,我的问题是:我应该声明这些属性,在这种情况下应该采用哪种方法来做到这一点?

3 个答案:

答案 0 :(得分:1)

像这样:

var resultModel = {
    idArray: [],
    nameArray: []
};

分配比首先将属性放在对象上要慢得多,所以这是最好的方法。

答案 1 :(得分:1)

javascript中的对象是动态分配的内存,就像在链表中一样,所以我认为我们不应该关注这里的内存分配。 为了更好的可读性,您可以使用上面提到的abhitalks之类的空值初始化它们。

答案 2 :(得分:0)

将该属性设置为数组的默认值.e.g for array - > Array(),对于整数:0或-1等:

var resultModel = { "idArray": DEFAULT_VALUE , "nameArray" : DEFAULT_VALUE }