0
只是試圖瞭解爲什麼發生這種情況。Javascript對象和數組參考行爲不同深度的深度
我正在試驗一下javascript數組,對象和對象的引用。然後我達到了一個我不瞭解的地步。
我創建了一個包含對象的數組;那麼當我對該對象進行引用並更改屬性時;原稿和參考的值會自動更改。顯然是因爲它是一個參考,而不是一個副本。
當我創建一個包含一個對象的數組和另一個對象時,我期待的是相同的,但在某些情況下,原始對象保持不變。
可能它有一個非常簡單的解釋,我現在不知道。有人可以解釋我嗎?
謝謝!
var foo = [
{
"bar": "bar"
}
];
var ref = foo[0];
ref.bar = "new bar";
console.info(foo[0].bar); // output: new bar
console.info(ref.bar); // output: new bar
console.info(foo[0].bar === ref.bar); // output: true
var foo2 = [
{
"bar2": [
{ "nested": "nested" }
]
}
];
var ref2 = foo2[0].bar2;
ref2.nested = "nested 2";
console.info(foo2[0].bar2[0].nested); // output: nested
console.info(ref2.nested); // output: nested 2
console.info(foo2[0].bar2[0].nested === ref2.nested); // output: false
謝謝!真的很傻...哈哈哈 – ius