0

在 JS 函数中,我将使用一个 object resultModel,它有两个属性idArraynameArray. 宣布这一点的正确方法是什么?

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

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

当然,我知道var关键字对于作用域很重要,并且由于在函数中声明了“根”标识符,因此我避免了任何全局篡改,这一切都很好。但我期望值的属性也应该以某种方式声明,除了范围之外的其他原因 - 内存分配突然想到,可能通过 JSDoc 注释进行类型提示,可读性和声明的绝对完整性。

所以,我的问题是:我应该声明这样的属性吗?在这种情况下,这样做的正确方法是什么?

4

3 回答 3

1

像这样:

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

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

于 2014-06-20T08:14:55.530 回答
1

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

于 2014-06-20T08:30:09.610 回答
0

将属性作为相同数据类型的默认值。例如,对于数组 -> Array(),对于整数:0 或 -1 等:

var resultModel = { "idArray": DEFAULT_VALUE , "nameArray" : DEFAULT_VALUE }
于 2014-06-20T08:16:27.067 回答