Number

tiaff Messages postés 54 Statut Membre -  
tiaff Messages postés 54 Statut Membre -
Bonjour,
Je suis entrain d'étudier Javascript, et je n'arrive pas à comprendre l'utilité de la fonction Number dans le script suivant:
var ageCh, ageNo;
ageCh = prompt("quelle est votre age?" , "30");
ageNo=Number(ageCh);
alert("Votre année de naissance est l'année "+(2008-ageCh)+"...")

Puisque le résultat est le même sans:

var ageCh;
ageCh = prompt("quelle est votre age?" , "30");
alert("Votre année de naissance est l'année "+(2008-ageCh)+"...")


Merci par avance

1 réponse

Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
en fait les variables ont un "type" (c'est à dire savoir comment le javascript doit interpréter tes variables).

Je ne connais pas grand chose en javascript, mais ça à l'air facile (je peux me tromper néanmoins) :
dans ta variable il y aura "30" (entre guillements, c'est à dire : du texte !)
toi tu veux utiliser ton nombre pour faire divers trucs.

par exemple si tu fais 3 fois tavariable, ça va être dur pour le javascript de comprendre ce que tu veux faire, car tu lui dis : 3 fois "DuTexte".
Mais en fait, tu sais bien que dans ton texte il y a un nombre, alors tu veux que javascript le voit comme tel.
C'est le but de la fonciton number, qui transformera "30" (un texte, on appelle ça en informatique "une chaîne de caractères") en 30 (un nombre)
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663
 
PS: pour t'en rendre compte, essaye d'enlever la ligne avec la fonction number et de faire fonctionner ton programme, il devrait donner un erreur, va voir la description de l'erreur !
0
tiaff Messages postés 54 Statut Membre 7 > Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention  
 
Bonsoir

Merci pour la réponse, mais
pas de message d'erreur sans la ligne de la fonction Number !!!

var ageCh;
ageCh = prompt("quelle est votre age?" , "30");
alert("Votre année de naissance est l'année "+(2008-ageCh)+"...");


j'ai la même boite de dialogue et une fois l'age validé, l'année de naissance s'affiche normalement.
Est-ce que Number est facultatif?
Merci
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663 > tiaff Messages postés 54 Statut Membre
 
alors apparemment oui, il est facultatif, mais comme je t'ai dit je ne connais pas grand chose au javascript.
0
Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention   663 > Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention  
 
euhhh.... en fait je vois un souci : dans le premier programme tu mets AgeNo = ... mais Tu utilises "Agech" pour la soustraction et l'affichage. Ton AgeNo ne sert à rien. (ceci dit ça ne contredit pas le fait qu'apparemment Number est ici inutile).

Peut-être que number sert si tu mets un nombre et autre chose que du nombre.

ex : si tu mets "30 et demi" au lieu de "30" ?
0
tiaff Messages postés 54 Statut Membre 7 > Pacorabanix Messages postés 3248 Date d'inscription   Statut Membre Dernière intervention  
 
Bien vu. Merci

si j'ai bien compris, pour que l'opération (2009-ageNo) se déroule bien, il faut une fonction:
qui converti la chaîne de caractère "30" en numérique 30.
0