JavaScript 按引用对象

JavaScript By Reference Object

我有类似于

的代码

emp1 = emp;

emp=emp2;

如果对象是引用那么为什么 emp1 不等于 emp2?

为什么 emp1 打印 "shilpa" 而不是 "manish" .

var emp = 
    {
      name : "manish",
      number :  10
    }


var emp1 = emp;

var emp2 = 
    {
      name : "shilpa",
      number :  20
    }

emp = emp2;

console.log(emp);
console.log(emp1);
console.log(emp2);

事情就是这样。

您创建了一个变量 emp,它指向内存中存储您定义的对象值的位置。

然后你创建一个变量emp1,它指向对象值在内存中的相同位置。

然后定义一个新变量emp2,它指向内存中存储您定义的对象值的位置。

然后你设置 emp 指向 emp2 对象值在内存中的 nrw 位置。

但是emp1仍然指向第一个location/object。

我认为您对 methods/functions 中的变量声明和传递参数感到困惑(通过引用或通过值)