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 :

Imbriquer des conditions ?


Sujet :

JavaScript

  1. #1
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2012
    Messages
    317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 317
    Par défaut Imbriquer des conditions ?
    Bonsoir,

    Il y a encore quelque chose que je n'arrive pas à comprendre. Lorsque l'on créer des if et ensuite des else if le code exécute la première condition qui est vrai puis la boucle recommence ou bien le code passe en revue tous les else if exécutant toutes les conditions qui sont vrai ?
    Comme je n'ai pas trouvé la réponse j'ai essayé d'imbriquer les conditions, c'est à dire 1 if avec en deuxième choix 1 autre if et else if et de même pour le deuxième else if, mais si la remière condition est effectuée, il ne se passe rien pour la seconde, même pas une erreur, donc j'ai beaucoup de mal à comprendre

    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
    27
    28
    29
    30
    31
    32
    var Lig = 1; 
     
      function DeltaT() 
    {
      for (var Lig=1; Lig<=50; Lig++) 
      {
        if ( $('#AR'+Lig).val() != '' && $('#AV'+(Lig+1)).val() != '' )
        {
    				$('#D'+(Lig+1)).val( $('#AR' + Lig).val() - $('#AV' + (Lig+1)).val() );
     
    							if($('#ZP1').val()=='')
    	{
    									$('#ZP'+1).val()== '100.000'
    	}
    							else  {
    									$('#ZP'+(lig+1)).val()== ($('#ZP'+(lig)).val() + $('#D'+(lig+1)).val())
    	}
    	}
    	else if ( $('#AR'+Lig).val() == '' &&  $('#AV'+(Lig+1)).val() != '') 
        {
     
    			$('#D'+(Lig+1)).val( $('#AV'+Lig).val() - $('#AV'+(Lig+1)).val() );
     
    						if($('#ZP1').val()=='')
    	{
    								$('#ZP'+1).val()== '100.000'
    	}
    						else  {
    								$('#ZP'+(lig+1)).val()== ($('#ZP'+(lig)).val() + $('#D'+(lig+1)).val())
    	}
     
        }
    si vous pouviez m'éclairer un peu, merci d'avance

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Citation Envoyé par dmoluc Voir le message
    Bonsoir,

    Il y a encore quelque chose que je n'arrive pas à comprendre. Lorsque l'on créer des if et ensuite des else if le code exécute la première condition qui est vrai puis la boucle recommence ou bien le code passe en revue tous les else if exécutant toutes les conditions qui sont vrai ?
    je n'arrive pas à comprendre


    le code passe en revue tous les else if exécutant toutes les conditions qui sont vrai ?
    Oui !

    Vous n'êtes pas sur le bon forum, le jQuery n'est pas ici, mais .

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    Il n'y a rien de bien sorcier...
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (condition_A) {
     
    } else if (condition_B) {
     
    } else {   // ni condition_A et ni condition_B
     
    }


    sinon $('#ZP'+1).val()== '100.000' ça m'étonnerai que ça marche ...

  4. #4
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Par défaut
    Sinon on peut se représenter les choses plus visuellement, avec un graphe.

    Au squelette de code suivant :
    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
    // début du script
    if (condition_1) {
     
      ... // bloc d’instructions A
     
    }
    else if (condition_2) {
     
      ... // bloc d’instructions B
     
    }
    else {
     
      ... // bloc d’instructions C
     
    }
     
    ... // suite du script
    Correspond ce graphe, où le fil d’exécution va de haut en bas et où un seul des chemins est emprunté :

    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
                    début du script
                          |
                          v
                      condition_1 ?
                       /         \
             branche  /           \   branche
             « if »  /             \  « else »
                    /               \
                bloc A           condition_2 ?
                  |               /       \
                  |      « if »  /         \  « else »
                  |             /           \
                  |            /             \
                  |         bloc B          bloc C
                  |           |               |
                  |           |               |
                  +-------+   |   +-----------+
                          |   |   |
                          v   v   v
                       suite du script
    On appelle ça un graphe de flot de contrôle.

    Tant que tu n’es pas à l’aise avec la logique des if/else et des boucles, je te conseille de prendre une feuille et un stylo et d’essayer de dessiner les graphes de flot de contrôle de tes scripts. À force de le faire, ça finira par rentrer
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Invité
    Invité(e)
    Par défaut
    On appelle ça aussi la LOGIQUE.

    Tant que tu n’es pas à l’aise avec la logique des if/else et des boucles, je te conseille de prendre une feuille et un stylo...
    +1

Discussions similaires

  1. [XL-2013] Imbriquer des conditions si ou et contient
    Par christian35 dans le forum Excel
    Réponses: 5
    Dernier message: 27/11/2017, 19h56
  2. Imbriquer des conditions
    Par tibo894 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 14/05/2009, 15h33
  3. [EXCEL] Comment imbriquer des conditions
    Par Nicolas67 dans le forum Excel
    Réponses: 2
    Dernier message: 17/05/2006, 11h24
  4. Imbriquer des logic:iterate
    Par lalou33 dans le forum Struts 1
    Réponses: 4
    Dernier message: 16/06/2004, 10h31
  5. Réponses: 12
    Dernier message: 18/03/2004, 15h09

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