在JS函数中,我将使用对象resultModel
,其中包含两个属性idArray
和nameArray
。宣布这个的正确方法是什么?
目前我将var resultModel
的对象与函数顶部的其他变量一起声明,但我只是通过在函数后面的循环中为它们赋值来开始使用这些属性:
resultModel.idArray.push(someValue[i][0]); resultModel.nameArray.push(someValue[i][1]);
当然,我知道var
关键字对于作用域很重要,并且因为在函数中声明了“根”标识符,所以我避免任何全局篡改,这一切都很好。但是我期望值的属性确实也应该以某种方式声明,除了范围之外的其他原因 - 内存分配会出现在脑海中,可能通过JSDoc注释,可读性和纯粹的声明完整性来提示。
所以,我的问题是:我应该声明这些属性,在这种情况下应该采用哪种方法来做到这一点?
答案 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 }