与指向原始对象的指针相反,创建对象的新实例的正确语法是什么?这是我的示例:

var oItem = { element: null, colIndex: 0 };
var oInputs = { Qty: oItem, Tare: oItem, Rate: oItem, Total: oItem };
for (var oTitle in oInputs) {
    oInputs[oTitle].element = ...

当我为任何oInputs[oTitle].element设置oTitle的值时,它将设置所有ojit_code的值。我知道javascript通过引用传递对象,所以我假设这是因为它们都引用同一个对象。我试过了,但这显然是错误的。
var oInputs = { Qty: new oItem, Tare: new oItem, Rate: new oItem, Total: new oItem };

提前致谢。

最佳答案

请执行下列操作:

function OItem() {
  this.colIndex = 0;
}

var oInputs = { Qty: new OItem(), Tare: new OItem(), Rate: new OItem(), Total: new OItem() };

然后设置您的属性:
for (var oTitle in oInputs) {
    oInputs[oTitle].element = ...

09-25 20:02