给它赋值时javascript对象的奇怪行为

Ali*_*ine 0 javascript json javascript-objects

我想了解这个让我感到困惑的概念。

假设我有以下逻辑:

function test(){
    var jsonObj_1 = {};
    var jsonObj_2 = {};
    
    jsonObj_2 = jsonObj_1;
    jsonObj_2.myKey = 3;

    console.log(jsonObj_2) // result => {myKey:3}
    console.log(jsonObj_1) // result => {myKey:3}

}
Run Code Online (Sandbox Code Playgroud)

我的问题是为什么它永远不会被分配时jsonObj_1等于 {myKey:3}?!

小智 5

您正在 jsonObj_2 中分配 jsonObj_1 的引用。简单来说就是第一个变量的地址。我建议您通过引用和按值调用来阅读一些随叫随到的文档。