Passage d'argument par référence en javascript??? [Résolu]

Signaler
Messages postés
6
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
31 août 2005
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Bonjour a tous!



Est-il possible en javascript de passer un paramètre par référence à une fonction,ex:

var yop;

mafonction (yop);

//ici yop est modifiée

et

function mafonction(pasyop) {

//traitement de pasyop...

...

}



Bien sur il y a toujours la solution suivante mais limitée:

var yop;


mafonction (yop);


//ici yop est modifiée


et


function mafonction(yop) {


//traitement de yop qui est variable globale et donc sera modifiée...


...


}



Voila, si qqn veut bien éclairer ma lanterne...



Bye

3 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
loin d'être un spécialiste => donc une "approche à améliorer/finaliser",
on doit pouvoir faire, mais il faudra compter sur de plus compétents :

function plus(v)
{
var r=new Array();
for ( var i=0;i<v.length;i++ )
{ r[i]=v[i];
r[i]++; }
return r;
}
var b=2,c=3,d=4;
var r=plus([b,c,d]);
alert(r[0]+","+r[1]+","+r[2]);

Cordialement. Bul. Site[mailto:marcelBultez@Tiscali.fr Mail]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
je crois que l'on passe toujours par valeur...
une réponse possible :

function plus(v)
{
var v1=v;
v1++;
return v1;
}
var b=2;
b=plus(b);
alert(b);

( ici on fait +1 )
Cordialement. Bul. Site[mailto:marcelBultez@Tiscali.fr Mail]
Messages postés
6
Date d'inscription
mercredi 21 juillet 2004
Statut
Membre
Dernière intervention
31 août 2005

Merci pour ta réponse.



J'avais aussi pensé à ta solution, le problème, c'est que j'aimerais que ma fonction modifie plusieurs variables!



Avec le procédé que tu me proposes, ce n'est pas possible, sauf si je retourne un tableau contenant mes variables modifiées.



C'est quand même dommage que le javascript ne mette pas à disposition le passage d'arguments par référence...



Merci encore Bultez pour toutes les réponses que tu postes sur le forum, et à bientot.