Выполнил модификацию согласно изначальным требованиям:
var global_1=null,global_2=null;
function Change(param)
{
var local_once;
if (param==1)
local_once=global_1;
else
local_once=global_2;
// здесь что-то творим с local_once
// НО ЭТОГО НЕ ДОСТАТОЧНО
if (param==1)
global_1=local_once;
else
global_2=local_once;
}
/* ... */
function UserAction(param)
{
Change(param);
}
Из чего я делаю вывод: мало того что переменные передаются не по ссылке, так ещё их дополнительно нужно сохранять, так как судя по всему обычное присваивание делает копию объекта.