我尝试以下代码:
var myList = new Object();
var item = new Object();
item.text = "item-1";
myList[3] = item;
console.log(myList);
console.log(myList[3].text);
// Assign another object to the same entry
var item2 = new Object();
item2.text = "item-2";
myList[3] = item2;
console.log(myList);
console.log(myList[3].text);
结果很奇怪:
* Object
* 3: Object
text: "item-2"
item-1
* Object
* 3: Object
text: "item-2"
item-2
但是 - 如果我在一段时间后执行第二部分(使用 setTimeout),并展开第一个对象,我做对了,即:
* Object
* 3: Object
text: "item-1"
item-1
* Object
* 3: Object
text: "item-2"
item-2
我觉得分享它很重要,因为我认为一个人可能会浪费很多时间来试图理解他的代码中的问题。如果有人提到了一个开放的错误或其他东西 - 请回复这张票。谢谢!