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 :

Variable globale et boucle for


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 66
    Points : 46
    Points
    46
    Par défaut Variable globale et boucle for
    bonsoir,

    J'ai le code suivant :

    var i = 0;

    function test ()
    {
    i += 1;
    var tmp = i;
    for (var y = 0; tmp < 4; tmp++,y++)
    alert(y);
    }
    Cela est a titre d'exemple bien sur les valeurs ne sont pas si random...
    pourquoi cela plante ? plus précisément c'est la condition du for qui bloque... mais je ne comprend pas pourquoi...

    Surtout que si j'enlève l'incrementation dans ma fonction... cela marche...

    Merci

  2. #2
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ton for n'est jamais declenché ..
    des le depart tmp=1
    donc pas > 4

  3. #3
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 66
    Points : 46
    Points
    46
    Par défaut
    non,

    je suis dsl j'ai mis ce code a titre exemple et... je me suis trompé de signe... dsl

    L'erreur est ailleur

  4. #4
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Si tu commençais à nous mettre le vrai code qui plante ...

  5. #5
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    et surtout commence par appeler ta fonction autrement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <script type='text/javascript'>
    var i = 0;
     
    function teste ()
    {
    i += 1;
    var tmp = i;
    for (var y = 0; tmp < 4; tmp++,y++)
    alert(y);
    } 
    </script>
    <body onload='teste()'>
     
    </body>

  6. #6
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 66
    Points : 46
    Points
    46
    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
     
    <script language="javascript" >
    var nb_page = 1;
     
    function NextPage() {
    	nb_page = nb_page + 1;
                 var count_first = ((nb_page - 1) * 5) + (1 * (nb_page - 1));
     
    	for (var i = 1 ; count_first  < 5; i++)
    	{
    		alert(2);
    		count_first++;
    	}
    }
    </script>
    voila désolé.

    Le code bloque avant même l'alerte 2.

  7. #7
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    bouton # de l'editeur pour les balises code ...

    d'abord quel interet de boucler sur i au lieu de la variable ??

    ensuite :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var count_first = ((nb_page - 1) * 5) + (1 * (nb_page - 1));
    tu ne bouclerais que si nb_page =2
    ds que nb_pages=2 tu est deja à 6

  8. #8
    Membre du Club
    Inscrit en
    Mai 2009
    Messages
    66
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 66
    Points : 46
    Points
    46
    Par défaut
    je boucle i car en réalité je l'utilise dans la boucle apres l'alerte 2.

    en plus si j'ai mis 5 c'est pour avoir une valeur sur...

    Normalement il s'agit d'une autre variable. c'est pour montrer qu'il s'agit bien d'un problème de global et non une erreur de code genre a la c**.

  9. #9
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    as tu testé le code que j'ai mis ci dessus ???

    il fonctionne je ne pencherais donc pas pour un problème d'ordre general

Discussions similaires

  1. Réponses: 6
    Dernier message: 10/01/2013, 11h07
  2. Appeler une série de variable dans une boucle for
    Par jujuf1 dans le forum MATLAB
    Réponses: 2
    Dernier message: 19/02/2008, 16h06
  3. Portée d'une variable dans une boucle FOR ?
    Par Neo41 dans le forum C++
    Réponses: 20
    Dernier message: 17/11/2006, 11h14
  4. [VB.net] Declaration variable dans une boucle for
    Par nico10gbb dans le forum Windows Forms
    Réponses: 4
    Dernier message: 10/05/2006, 11h45
  5. [MySQL] Traitement des variables d'une boucle for
    Par liryc78 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 06/03/2006, 20h53

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