3.4 Variables - remarques |
See You Why? |
Quelques remarques complémentaires concernant cet outil fondamental en programmation et donc en JS : les variables.
L'affectation d'une variable est le fait de donner une valeur à une variable... mettre une valeur dans la boite.
Il est évidemment possible de mettre autre chose dans la boite, mais alors le contenu précédent de la variable disparait. Ainsi, si j'écris
a=2;
puis
a=a*7;
la variable a n'aura eu la valeur 2 que quelques millisecondes et aura sa valeur modifiée en 14 immédiatement après.
En effet, la dernière ligne de programmation signifie
"a doit prendre comme nouvelle valeur, l'ancienne valeur de a (c-à-d 2) multipliée par 7".
Attention donc, assurez-vous, en programmant, de ne plus avoir besoin de l'ancienne valeur.
Il n’est possible de stocker qu’une seule valeur par variable, par boite ou par case (sauf pour les tableaux que nous verrons plus tard au chapitre 26).
Le lecteur sait déjà que l'assignation d'une variable est le fait de donner une valeur à cette variable, d'affecter une valeur à cette variable et qu'en JS, elle se note par un simple signe '='.
L'algorithmique est l’ensemble des règles et des techniques qui sont impliquées dans la définition et la conception d'algorithmes, c'est-à-dire de processus systématiques de résolution, par le calcul, d'un problème permettant de décrire les étapes vers le résultat.
En d'autres termes, un algorithme est une suite finie et non-ambiguë d’opérations permettant de donner la réponse à un problème.
Or, "donner à a la valeur 2", qui se note en JS :
a=2;
comporte un danger de confusion lors de la lecture.
En effet, bien que noté ainsi en JS, en algorithmique, on notera :
a <- 2
ou mieux encore : a ← 2
.
Cette notation laisse moins de confusion possible : ce qui est à droite du signe <- glisse dans la boite dont le nom est à gauche...
Si l'on utilise l'instruction prompt() il ne faut pas oublier ce que nous avons dit dans le chapitre précédent, à savoir que l'instruction prompt() reçoit la réponse dans une variable, mais que cette variable est prioritairement considérée comme chaine de caractères... donc si on lui affecte une opération notée '+', entre diverses variables dont une est de type alphanumérique, cet opérateur sera considéré comme une concaténation, pas comme une addition... erreur fréquente.
Ainsi, on écrira pour demander l'age de l'internaute visiteur de sa page... puis de pouvoir faire des manipulations mathématiques avec la réponse reçue :
var age = prompt("Quel age avez-vous";"18");
age = parseFloat(age);
La fonction parseFloat() permettra la transformation de la chaine reçue en nombre réel flottant. Nous verrons plus loin qu'il existe d'autres fonctions parseInt(), eval() ou 1.0* qui ont le même but, mais qui donne des résultats différents selon les cas (voir ici).
voir suite >>>
voir suite >>>