Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6215 connectés 

 


Dernière réponse
Sujet : javascript variable
wouatouwouatou oups.. désolé, javai pas vu :D

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
wouatouwouatou oups.. désolé, javai pas vu :D
nabab lamatrice> oui mais c un comportement par defaut de l'intrepreteur javascript.
 
Pour moi speeder06, disait d'enlever le "var" devant le var i qui etait ecrit en dehors d'un code de fontion.
 
Mais y a pas de mal, je voulais d'ailleurs savoir ou cela pouvait etre ecrit afin de regarder excatement ce qu'il voulait dire ...
 
wouatouwouatou> ca y est speeder06 a pondu une solution assez nickel
wouatouwouatou

nabab a écrit a écrit :

Ben wouatouwouatou je lui ai proposé et il dit que cela ne change rien.




mais son initialisation comme jai dit est pas bon...
il a surement initialisé avec document.blabla...

duch oui
lamatrice nabab, ce que voulait dire speeder06, c'est que
 
Dans une fonction, si tu défini un variable sans utiliser le mot var, elle est automatiquement variable globale, ce qui revient au même que de l'avoir définit en dehors de cette fonction.
 
si je me trompe ?
speeder06 Excuse pour cette info, non correcte.
J ai confondu avec autre chose
 
Desolee
lamatrice voila une réponse qui a le mérite d'être claire.
 
merci !
nabab speeder06> Mets d'ou tiens tu cette information, le mot var n'est qu'une methode de declaration, methode propore à chaque langage, cela n'a jamais eu un qq conque rapport avec la definition de varaibles globales. simplement il est certain qu'il ne faut l'utiliser qu'une seule fois pour une variable car sinon cela revient est de la double declaration. C tres simple comme te l'a dit precedemment wouatouwouatou tu l'initialise avec une valuer qui n'existe pas encore lors de la lecture de page par le navigateur
speeder06

lamatrice a écrit a écrit :

bon alors précisons
 
 
je reprends mon bout de code pour être claire
 
var mailchain,maillong,test;  
mailchain=document.formu.mail.value ;  
maillong=mailchain.length ;  
test="toto"
function testmail() {  
alert("votre mail fait " +test+ " caractères" );  
}
ce code fonctionne avec la variable test
mais si dans mon alert je remplace test par maillong, il me dis "indéfini" ?
par contre si je met l'affectation de mailong et de mailchain dans la funcion là il prend le fils de p....
bon voilà je suis content de ne pas être un imbécile .




 
 
Dans ce cas c est tout a fait normal.
 
Le fonctionnement est le suivant :
La page HTML est interprete pas le navigateur.
Donc ds le tag JAVACSRIPT, tout ce qui n est pas fonction javascript est execute.
Donc :
mailchain=document.formu.mail.value ;  
maillong=mailchain.length ;  
est execute. Mais bien sur au debut, ta variable mail est pas definie, puisque ton tag input est definie apres.
 
Si tu veux pas l affichage "undefined" il faut que tu mettes ton tag JAVASCRIPT apres le tag INPUT.
 
Mais ca ne marchera toujours pas puisque, a chaque fois, qui tu vas executer ta fonction, la chaine maillong aura la valeur, a l interpretation de la page (cad vide);
Donc tu es oblige de la mettre ds ta fonction :
 
mailchain=document.formu.mail.value ;  
maillong=mailchain.length ;  
 
et ca marche
 
@+
 
Bonne suite

lamatrice bon alors précisons
 
 
je reprends mon bout de code pour être claire
 
var mailchain,maillong,test;  
mailchain=document.formu.mail.value ;  
maillong=mailchain.length ;  
test="toto"
function testmail() {  
alert("votre mail fait " +test+ " caractères" );  
}
ce code fonctionne avec la variable test
mais si dans mon alert je remplace test par maillong, il me dis "indéfini" ?
par contre si je met l'affectation de mailong et de mailchain dans la funcion là il prend le fils de p....
bon voilà je suis content de ne pas être un imbécile .
speeder06

lamatrice a écrit a écrit :

dans une fonction, si j'utilise une variable qui a été défini en dehors de la fonction, ça marche plus,
 
var i;
function toc() {
if (i=="5" ) {
machin bidule }
 
dans mon exemple la variable i est à l'exterieur de la fonction. quant j'appel toc() il ne connait pas i
y a t'il un moyen de definir la variable pour quelle puisse tourner sur toute les futur fuctions




 
Hi,
 
Il faut que tu enleves le "var" devant "i", si tu veux que ta variable soit global.
 
@+
 
Bonne suite

nabab Ben wouatouwouatou je lui ai proposé et il dit que cela ne change rien.
wouatouwouatou c ptet paske ton script tu le fais au debut...
et donc document.blabla ... bah i connait pas encore.. enfin, jsuis pas sur mais regarde de ce cote la...
Met des valeur fixe pour tester... du genre variable="toto" et appelle ta fonction.
lamatrice j'ai IE5  
et quand je la met dans la fonction ça marche ? c'est spéc hein!
nabab oui car les variables globales c ce que tu fais, il suffit de les declarer en dehors des fonctions ... c assez aisé ..
darkoli ben la tu vois si ton javascript ne marche pas c'est pas normal. (c'est quoi le naviguateur) ?
petoulachi Bin je connais rien en javascript, mais peut etre faut il que tu declare tes variables en globales.... enfin dans bcp de langage c comme ça alors regarde voir si ya pas un truc du genre
lamatrice ça change rien, p't être que je con ! voila un exemple de code (qui test la longueur d'une adresse mail)
 
var mailchain,maillong;
mailchain=document.formu.mail.value ;
maillong=mailchain.length ;
 
function testmail() {
alert("votre mail fait " +maillong+ " caractères" );
}
nabab mets var i = "";
lamatrice merci pour ton aide, mais je comprends pas ta réponse !
 
tu veux pas être plus claire dans ce que je dois faire pour que ma variable i soit accessible dans chaque fonction.
nabab normalement cela devrait marcher mais le probleme est que tu n'initialise pas ta variable donc pour l'instant je crois que son type est undefined que tu peux tester par la methode typeof
lamatrice dans une fonction, si j'utilise une variable qui a été défini en dehors de la fonction, ça marche plus,
 
var i;
function toc() {
if (i=="5" ) {
machin bidule }
 
dans mon exemple la variable i est à l'exterieur de la fonction. quant j'appel toc() il ne connait pas i
y a t'il un moyen de definir la variable pour quelle puisse tourner sur toute les futur fuctions

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)