IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Passer une variable en r�f�rence


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Mars 2013
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 15
    Par d�faut Passer une variable en r�f�rence
    bjr � ts,j'aimerai connaitre s'il est possible de passer une variable par r�f�rence en javascript.
    le probleme est que j'ai declar� une variable globale(sans le var ) mes quand je l'a passe � une fonction d'incrementation,la fonction l'incremente une fois et c'est tout.
    merci d'avance pour vos suggestions

  2. #2
    Membre exp�riment�
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    128
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 128
    Par d�faut
    Bonjour,

    En javascript toutes les variables sont des r�f�rences.
    Il n'est pas possible de d�clarer une variable sans utiliser le mot cl� var.

    Tu n'as donc pas d�clar� une variable globale, mais une propri�t� de ton objet global.

    Tu peux donc y acc�der de cette mani�re :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    azerty = 42; // propriété de l'objet global et non pas variable
     
    window['azerty'] += 2;
    window['azerty'] += 2;
    window['azerty'] += 2;
     
    alert(window['azerty']); // 48
    PS : en d'autre termes pour �viter de copier une valeur primaire stock�e dans ta propri�t� il faut passer ta cl� � ta fonction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    azerty = 42; // propriété de l'objet global et non pas variable
     
    function incr(val){
     
        window[val] +=2;
    }
     
    incr('azerty');
    incr('azerty');
    incr('azerty');
     
    alert(window['azerty']); // 48

  3. #3
    Membre averti
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Mars 2013
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 15
    Par d�faut
    Voici mon code avec la modification que tu viens de me passer mais �a ne fonctionne toujours pas.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    glob=1;
    var q=10;
     
    function suiv(z,q){
    	if(z>q){
    		alert('fin');
    	}else{
    		var ac=z+1;
    		var txt1='test'+ac;
    		document.write('<div>'+txt+'</div>');
    		window['glob']+=1;
     
    	}
    }
     
    document.write('<input type="button" value="suivant" onclick="suiv('+glob+','+q+')" />');

  4. #4
    Membre exp�riment�
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    128
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 128
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    glob=1;
    var q=10;
     
    function suiv(z,q){
       if(window[z]>q){
          alert('fin');
       }else{
          var ac=window[z]+1;
          var txt1='test'+ac;
          alert(txt1);
          window[z]+=1;
       }
    }
     
    document.write('<input type="button" value="suivant" onclick="suiv(\'glob\','+q+')" />');

  5. #5
    Membre averti
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Mars 2013
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 15
    Par d�faut
    Youpiiii. Ca marche, merci...
    S'il te plait, j'aimerais connaitre aussi s'il y a une autre fa�on d'�crire le contenu d'un input sans le "document.write()" parce qu'il efface le contenu de toute la page.

    Explications : supposons que ceci est ma page Web :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    --------------------------------
    -                -             -
    -                -             -
    -          X     -      A      -
    -                -             -
    -                -             -
    --------------------------------
    Est-il possible d'avoir une m�thode d'�criture du contenu (autre que document.write) pour �crire sur A sans que X soit effac� ?

  6. #6
    Membre exp�riment�
    Profil pro
    Inscrit en
    D�cembre 2007
    Messages
    128
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : D�cembre 2007
    Messages : 128
    Par d�faut
    Derien,

    pour pouvoir �crire dans une zone de ta page en particulier, il faut naturellement que tu puisse d�j� sp�cifier cette zone.

    Tu peux faire cela en parcourant le DOM (Document Object Model - ��d la repr�sentation en objets de ton document).

    Ensuite le plus simple c'est de faire un "innerHTML" dans ton �l�ment.

    ex :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <!DOCTYPE html>
    <html>
    <head>
    	<title>test</title>
    	<script>
    glob=1;
    var q=10;
     
    function suiv(z,q){
    	if(window[z]>q){
    		alert('fin');
    	}else{
     
    		var ac=window[z]+1;
    		var txt1='test'+ac;
    		document.getElementById('destination').innerHTML = txt1;
    		window[z]+=1;
    	}
    }
    	</script>
    </head>
    <body>
    	<div id="destination">0</div>
    	<input type="button" value="suivant" onclick="suiv('glob',q)" />
    </body>
    </html>

  7. #7
    Membre averti
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Mars 2013
    Messages
    15
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 15
    Par d�faut
    merci une fois de plus Thegwy

  8. #8
    R�dacteur/Mod�rateur

    Avatar de SpaceFrog
    Homme Profil pro
    D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activit� : D�veloppeur Web Php Mysql Html Javascript CSS Apache - Int�grateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par d�faut
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    var =10;
     
    function suiv(z){
    alertr(z>q)
    }
    pourquoi passer la variable en param�tre, elle sera accessible depuis la fonction puisqu'elle est globale
    Ma page Developpez - Mon Blog Developpez
    Pr�sident du CCMPTP (Comit� Contre le Mot "Probl�me" dans les Titres de Posts)
    Deux r�gles du succ�s: 1) Ne communiquez jamais � quelqu'un tout votre savoir...
    Votre post est r�solu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de D�veloppez !

Discussions similaires

  1. passer une variable par r�f�rence
    Par roblescriso dans le forum Requ�tes et SQL.
    R�ponses: 0
    Dernier message: 04/04/2008, 17h05
  2. Passer une variable C � un script en Javascript
    Par aquouel dans le forum G�n�ral JavaScript
    R�ponses: 7
    Dernier message: 21/09/2005, 17h41
  3. [Custom Tags 1.2] Passer une variable comme valeur d'attribut d'un tag jsp
    Par Pi2 dans le forum Taglibs
    R�ponses: 7
    Dernier message: 16/09/2005, 14h44
  4. Passer une variable entre deux fen�tres
    Par DeezerD dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 17/08/2005, 09h52
  5. [Struts] Passer une variable dans l'url
    Par pilz dans le forum Struts 1
    R�ponses: 2
    Dernier message: 30/03/2005, 15h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo