Voici un code :
test = function(a){
return a - 1;
}
toto = function(){
var b = 2;
document.write(b); //affiche 2
test(b);
document.write(b); //affiche 2
b = test(b);
document.write(b); //affiche 1
}
toto();
Et un autre :
test = function(a){
a[1] = a[1]-1;
return a;
}
toto = function(){
var b = new Array(2,3);
document.write(b[1]); //affiche 3
test(b);
document.write(b[1]); /affiche 2
b = test(b);
document.write(b[1]); //affiche 1
}
toto();
Pourquoi n’y a-t-il pas besoin de réaffectation pour que la valeur de b[1] change ?
Je croyais que lors de l’appel à une fonction, cette fonction travaillait sur une copie des variables passées en paramètres, ce qui semble est le cas pour des variables “simples”, mais pas pour les tableaux ?