В общем, лучше избегать функций, которые имеют побочные эффекты, например, изменять свои аргументы.Если ваша функция должна что-то создать, просто верните это «что-то»:
// good way
function mkArray(xml, tag) {
var store = [];
// populate store...
return store;
}
myStore = mkArray(xml, tag);
Если по какой-то причине это не работает, вы также можете изменить аргумент функции, но объектСам должен быть создан в коде вызова:
// worse, but possible
function mkArray(xml, tag, store) {
// populate store...
}
myStore = [];
mkArray(xml, tag, myStore);