74
rated 0 times
[
81]
[
7]
/ answers: 1 / hits: 18001
/ 13 Years ago, fri, february 24, 2012, 12:00:00
I know that in JS, objects are passed by reference, for example:
function test(obj) {
obj.name = 'new name';
}
var my_obj = { name: 'foo' };
test(my_obj);
alert(my_obj.name); // new name
But why doesn't the below work:
function test(obj) {
obj = {};
}
var my_obj = { name: 'foo' };
test(my_obj);
alert(my_obj.name); // foo
I have set the object to {}
(empty) but it still says foo
.
Can any one explain the logic behind this?
More From » pass-by-reference