Ciao Pietro
in Javascript l'operatore di assegnamento (=) applicato a due array non effettua una copia per valore ma per riferimento. Questo significa che le due variabili array puntano in realtà alla stessa locazione di memoria e quindi la modifica di un elemento di un array si ripercuote anche sull'altro.

Ecco un esempio sullo stile del tuo che conferma quanto detto:

var a = [1, 2, 3];
var b = [10, 20, 30];

function Button1_onclick()
{
copia_vettore(b);
}

function Button2_onclick()
{
// provo a modificare uno dei due vettori
b[0] = 100;

visualizza();
}

function copia_vettore( x )
{
a = x;
x = null;
}

function visualizza()
{
alert("a = " + a + "\nb= " + b);
}

al click sul secondo pulsante (dopo aver premuto il primo) viene mostrato

a = [100, 20, 30]
b = [100, 20, 30]

invece di

a = [10, 20, 30]
b = [100, 20, 30]

Quindi se si desidera copiare un array in Javascript per trattarlo come un nuovo array è opportuno che procedi come al tuo solito cioè:
1) creo un nuovo array
2) copio gli elementi di uno nell'altro

Spero di esserti stato di aiuto.