Во-первых, ты передал не объект, а null. Ну а во вторых, если бы даже передал объект, то
Сообщение от Zoltan
|
function f(n)
|
Вот тут n ссылается на тот же объект, что и N.
Сообщение от Zoltan
|
n = new Object();
|
Теперь n ссылается на новый объект. А N ссылается на старый. Если ты и в N присвоишь что-нибудь другое, то на старый объект никто ссылаться не будет. Но он будет сидеть в памяти еще некоторое время. Пока сборщик не удалит.
Присваивая новое значение в переменную, ты его не записываешь в связанную с переменной память, ты создаешь новую область памяти и записываешь значение туда. А старая область остается нетронутой.
Речь конечно об объектах.