mozilla
Vos résultats de recherche

    for each...in

    Obsolète
    Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

    L'instruction for each...in est dépréciée car elle appartient au standard ECMA-357 (E4X). E4X sera désactivé par défaut puis retiré à l'avenir mais l'instruction for each...in ne sera pas désactivée puis retirée afin de respecter une certaine rétro-compatibilité. Il faut désormais utiliser l'instruction for...of. (Voir bug 791343.)

    Résumé

    L'instruction for each...in itère une variable donnée sur toutes les propriétés d'un objet. Pour chaque propriété distincte, une instruction spécifique est exécutée.

    Syntaxe

    for each (variable in objet) {
      instruction
    }
    variable
    Une variable à itérer sur les valeurs des propriétés, elle peut être déclarée avec le mot-clé var. Cette variable est locale à la fonction et non à la boucle.
    objet
    L'objet pour lequel les propriétés sont itérées.
    instruction
    Une instruction à exécuter pour chaque propriétés. Pour effectuer plusieurs instructions au sein de la boucle, il faut utiliser une instruction de bloc ({ ... }) pour regrouper les instructions.

    Description

    L'itération ne s'effectue que sur les propriétés spécifiques, définies par l'utilisateur. Elle ne s'effectuera pas sur les propriétés implicites déjà intégrées comme les méthodes objet telles que la méthode indexOf des chaînes de caractères.

    Exemple

    Utiliser for each...in

    Attention : Ne jamais utiliser cette boucle sur un tableau. Ne l'utiliser que pour les objets. (Voir des détails sur la page de l'instruction Instructions/for...in).

    Le fragment de code parcourt les propriétés d'un objet et en calcule leur somme.

    var somme = 0;
    var obj = {prop1: 5, prop2: 13, prop3: 8};
    
    for each (var item in obj) {
      somme += item;
    }
    
    console.log(sum); // affiche "26", ce qui correspond à 5+13+8

    Spécifications

    Cette instruction ne fait partie d'aucune spécification ECMA-262. Elle a été implémentée avec JavaScript 1.6 et est dépréciée.

    Compatibilité des navigateurs

    Fonctionnalité Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Support simple Pas de support 1.5 (1.8) Pas de support Pas de support Pas de support
    Fonctionnalité Android Chrome pour Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Support simple Pas de support Pas de support 1.0 (1.0) Pas de support Pas de support Pas de support

    Voir aussi

    • for...in : une instruction similaire permettant d'itérer sur les noms des propriétés.
    • for...of : une instruction similaire qui permet d'itérer sur les valeurs des propriétés mais dont le comportement est différent de for each...in
    • for

    Étiquettes et contributeurs liés au document

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