Déclalration de variable
Résolu
gaya_102
-
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
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
A voir également:
- Déclalration de variable
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Vérifiez la variable d'environnement TEMP. QUE FAIRE ????? ✓ - Forum Microsoft Office
- Range avec une Variable ✓ - Forum VB / VBA
1 réponse
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!
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!
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 :)