JavaScript по ссылочному объекту

У меня есть код, который похож на

emp1 = emp;

emp = emp2;

если объекты по ссылке, то почему emp1 не равно emp2?

почему emp1 печатает "шилпа" вместо "маниш" .

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 ответ

Решение

Это то, что происходит.

Вы создаете переменную emp которая указывает на место в памяти, где хранится определенное вами значение объекта.

Затем вы создаете переменную emp1 который указывает на то же место в памяти значения объекта.

Затем вы определяете новую переменную emp2 которая указывает на место в памяти, где хранится определенное вами значение объекта.

Затем вы установите это emp указывает на местоположение NRW в памяти о emp2 стоимость объекта.

Но emp1 все еще указывает на первое местоположение / объект.

Я думаю, что вы путаетесь между объявлениями переменных и передачей параметров в методах / функциях (по ссылке или по значению)

Другие вопросы по тегам