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
все еще указывает на первое местоположение / объект.
Я думаю, что вы путаетесь между объявлениями переменных и передачей параметров в методах / функциях (по ссылке или по значению)