Я знаю, что в JS объекты передаются по ссылке, например:
function test(obj) {
obj.name = 'new name';
}
var my_obj = { name: 'foo' };
test(my_obj);
alert(my_obj.name); // new name
Но почему не работает ниже:
function test(obj) {
obj = {};
}
var my_obj = { name: 'foo' };
test(my_obj);
alert(my_obj.name); // foo
Я установил объект в {}
(пустой), но он все еще говорит foo
.
Может ли кто-нибудь объяснить логику этого?