* Параметры по ссылке
Добрый день. Не знаю, как вещи, с которыми я столкнулась, назваются по-научному, поэтому привожу код:
function editObject1(o) {
o['new_key'] = 'new_val'; // Работает нормально
}
function editObject2(o) {
o = {}; // Похоже, что создает новый локальный объект
}
var foo = { 'a': 'b' };
editObject1(foo);
// -> { 'a': 'b', 'new_key': 'new_val' }
editObject2(foo);
// -> { 'a': 'b' }
Было бы интересно узнать, что происходит в функции editObject2().
Ссылки на гугл и теорию тоже подойдут :)