Array
var a = [];
var b = a;
という状況になると,bはaの引用となる,C言語のpointer(*)と同じ原理.
つまり,以下の状況になる
Array
b[0] = 1;
a[0] // ==> 1 となる.
a === b //==> true
もしbを新たな配列にしたい場合,for循環で要素を一個づつ渡すべき.
補足:
このような状況は,変数bが別の変数を与えられると,変数aに影響がない.
例は,「@think49」さんのコメントに参照.