Javascript : "with"

Signaler
Messages postés
12
Date d'inscription
lundi 30 mars 2009
Statut
Membre
Dernière intervention
8 avril 2011
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour, je voudrais savoir dans cette fonction a quoi sert le "with" exactement s'il vous plait. Merci beaucoup.

function ClassObjet(monObjet)
    {
        var classDivDeplacable = "DivDeplacable";
        with(monObjet)
        {
            var i;
            listeClass = className.split(" ");
            //On parcours le tableau pour voir si l'objet est déplaçable
            for(i=0 ; i <= listeClass.length ; i++)
            {
                if(listeClass[i] == classDivDeplacable)
                {
                    objetDown = monObjet;
                }
            }
        }
    }

4 réponses

Messages postés
469
Date d'inscription
mercredi 9 janvier 2002
Statut
Membre
Dernière intervention
20 février 2017
4
Bonjour le mot clef with sert à alléger le code :
Par exemple :
plutôt que d'écrire:

   monObjet.style.top = "10px";
   monObjet.style.left = "20px";

on peut écrire:
with (monObjet.style){
   top = "10px";
   left= "20px";
}

Mais dans le cas de la fonction fournie, il n'a que fort peut d'intérêt, elle aurait pu s'écrire:
function ClassObjet(monObjet)
    {
        var classDivDeplacable = "DivDeplacable";
            var i;
            listeClass = monObjet .className.split(" ");
            //On parcours le tableau pour voir si l'objet est déplaçable
            for(i =0 ; i <= listeClass.length ; i++)
            {
                if(listeClass[i] == classDivDeplacable)
                {
                    objetDown = monObjet;
                }
            }
    }

[o-_-o]
Messages postés
631
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
Très bonne explication de Zobibol.
Cependant, je tiens a ajouter qu'il est a priori non recommandé d'utiliser WITH et celà pour une raison que j'ignore. Dailleur, si quelqu'un sait pourquoi ce n'est pas recommandé, je suis preneur.
Messages postés
12
Date d'inscription
lundi 30 mars 2009
Statut
Membre
Dernière intervention
8 avril 2011

Merci Zobibol pour ton explication très claire. Par compte je suis preneur si quelqu'un sais pourquoi il n'est pas recommandé de l'utiliser.
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
Bonjour,
une amorce de réponse sur
developer.mozilla
 

;O)