mozilla
Vos résultats de recherche

    break

    L'instruction break permet de terminer la boucle en cours ou l'instruction switch ou label en cours et de passer le contrôle du programme à l'instruction suivant l'instruction terminée.

    Syntaxe

    break [label];
    label
    Paramètre optionnel. Un identifiant associé avec l'étiquette (label) de l'instruction. Si l'instruction à terminer n'est pas une boucle ou une instruction switch, ce paramètre est nécessaire.

    Description

    L'instruction break peut être utilisée avec une étiquette (label) optionnelle qui permet d'interrompre une instruction étiquetée. L'instruction break doit être imbriquée au sein de l'instruction référencée. L'instruction étiquetée peut correspondre à n'importe quel instruction de bloc ; il n'est pas nécessaire qu'elle soit précédée par une instruction de boucle.

    Exemples

    Exemple simple utilisant break

    La fonction qui suit utilise une instruction break qui interrompt la boucle while lorsque i vaut 3, grâce à l'instruction qui suit, la fonction renvoie  3 * x.

    function testBreak(x) {
       var i = 0;
    
       while (i < 6) {
          if (i == 3) {
             break;
          }
          i += 1;
       }
       return i * x;
    }

    Utiliser break avec les labels

    Dans le code suivant, on utilise les instructions break avec des blocs étiquetés. Une instruction break doit être présente à l'intérieur du bloc auquel elle fait référence. Ici, on voit que bloc_interne est compris dans bloc_externe.

    bloc_externe: {
    
      bloc_interne: {
        console.log ('1');
        break bloc_externe;  // interrompt bloc_externe ET bloc_interne
        console.log (':-('); // ignoré
      }
    
      console.log ('2');     // ignoré
    }
    

    Dans le code qui suit, on utilise également des instructions break avec des blocs étiquetés mais on obtient une exception SyntaxError car l'instruction break au sein de bloc_1 référence bloc_2, or bloc_1 n'est pas compris dans bloc_2 :

    bloc_1: {
      console.log ('1');
      break bloc_2;  // SyntaxError: label not found
    }
    
    bloc_2: {
      console.log ('2');
    }
    

    Spécifications

    Spécification Statut Commentaires
    Première édition d'ECMAScript Standard Définition initiale. Pas de gestion des blocs étiquetés.
    Troisième édition d'ECMAScript Standard Ajout de la gestion des étiquettes (labels).
    ECMAScript 5.1 (ECMA-262)
    La définition de 'Break statement' dans cette spécification.
    Standard  
    ECMAScript 6 (ECMA-262)
    La définition de 'Break statement' dans cette spécification.
    En cours de validation comme recommandation  

    Compatibilité des navigateurs

    Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Support simple (Oui) (Oui) (Oui) (Oui) (Oui)
    Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Support simple (Oui) (Oui) (Oui) (Oui) (Oui) (Oui)

    Voir aussi

    Étiquettes et contributeurs liés au document

    Contributors to this page: MattouFP, SphinxKnight, teoli
    Dernière mise à jour par : SphinxKnight,
    Masquer la barre latérale