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

GossBuster 6 Messages postés mercredi 21 juillet 2004Date d'inscription 31 août 2005 Dernière intervention - 31 août 2005 à 10:02 - Dernière réponse : cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention
- 31 août 2005 à 14:50
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
Afficher la suite 

3 réponses

Répondre au sujet
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 31 août 2005 à 14:50
+3
Utile
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]
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_bultez
cs_bultez 13619 Messages postés jeudi 13 février 2003Date d'inscription 15 octobre 2013 Dernière intervention - 31 août 2005 à 12:22
0
Utile
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]
Commenter la réponse de cs_bultez
GossBuster 6 Messages postés mercredi 21 juillet 2004Date d'inscription 31 août 2005 Dernière intervention - 31 août 2005 à 14:21
0
Utile
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.
Commenter la réponse de GossBuster

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.