JavaScript按引用对象

时间:2017-06-04 01:01:40

标签: javascript byref

我的代码类似于

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);




1 个答案:

答案 0 :(得分:0)

这就是发生的事情。

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

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

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

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

emp1仍然指向第一个位置/对象。

我认为您在变量声明和方法/函数中传递参数(通过引用或按值)之间感到困惑