Déclalration de variable

Résolu
gaya_102 -  
 gaya_102 -
Bonjour,
dans se sript

<SCRIPT language="Javascript">
<!--
var a = 12;
var b = 4;

function MultipliePar2(b) {
var a = b * 2;
return a;
}
document.write("Le double de ",b," est ",MultipliePar2(b));
document.write("La valeur de a est ",a);
// -->
</SCRIPT>

Je ne comprend pas pourquoi a doit renvoyer 12 car pour moi on lui dit a = b*2 donc qui est =8 return a donc pour moi il doit retourner a qui a pris la valeur de 8

1 réponse

NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514
 
Il y a en fait deux variables a.
L'une est globale : var a = 12; , c'est à dire qu'elle est accessible depuis tout le programme.
L'autre a une portée réduite à la fonction : var a = b * 2; , c'est à dire qu'elle ne sera accessible qu'à l'intérieur de la fonction MultipliePar2(b).
Si on découpe le programme ça donne ça :
a globale = 12
b globale = 4

Appel multipliePar2(b)
b est donc envoyé à l'intérieur de la fonction où elle est modifié
a fonction = b*2
a fonction est retournée et récupérée dans document.write mais pas sous la forme de a globale!
on affiche a globale qui n'a jamais été modifiée!
0
gaya_102
 
donc en fait return ne fias pas partie de la fonction c'est ca et c'est pour ca que ca renvoie a=12
0
gaya_102
 
DAns ses cas la pourquoi donner le même nom a deux variables?
0
NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention   514 > gaya_102
 
je suppose que c'est pour t'embrouiller XD
Non ça doit être pour bien te faire comprendre que ce sont deux variables différentes à cause de leur portée et que même si elles ont le même nom ça ne veut rien dire.

Après toi en programmant, justement il vaut mieux faire en sorte que tes variables aient des noms différents :)
0
gaya_102 > NookZ Messages postés 2138 Date d'inscription   Statut Membre Dernière intervention  
 
ok je comprend mieu maintenant lol. Je me demande si la prog c'est vraiment pour car je ne m'en sort pas avec les "" ' ' et les différentes variables. C'est pas évident au tout début. En tout cas merci de ton aide. Je continu le tutoriel
0