Bonjour à tous,
J'aimerais votre avis sur un truc que j'ai lu et vu à plusieurs reprises et pour lequel je ne suis pas (au moins en partie) d'accord. Donc vos avis m'aiderons, je l'espère, à mieux comprendre et accepter ceci.
Quand, dans une fonction jQuery on utilise le this pour faire référence à l'objet appelé, il est conseillé deux choses :
1/ de l'attribuer à une variable, qu'on utilisera à chaque fois par la suite à la place du $(this)
2/ c'est mieux car on sait qui on appel.
Pour le coup, je suis largement dans le doute sur une histoire de performances (en Java c'est sûr qu'il n'y a aucune différences car c'est la JVM qui fait sa sauce. Si elle repère trop de this, elle peut d'elle-même décider de l'attribuer à une variable, si et seulement si de meilleures performances seront possibles). Pour JavaScript et jQuery, j'irais dans le même sens que Java mais je ne sais pas comment les navigateurs le prennent en charge.
Pour le coup de la lisibilité, là je ne suis carrément pas d'accord avec ça. Si la fonction ne fais que quelques lignes avec 2-3 variables, ok. Par contre quand on commence à partir sur plusieurs lignes et pleins de variables, je ne partage pas cet avis car en plus des variables nécessaires, il faut en plus repérer celle qui est le this. Ok, on peut y donner un nom clair, etc. Mais bon, je trouve que le plus simple est de laisser this, je vois pas en quoi c'est plus simple d'englober ça dans une variable.
Voilà, maintenant je vous laisse la parole et merci d'avances pour vos avis.
Modifié par MagicCarpet (13 Jan 2013 - 15:22)
J'aimerais votre avis sur un truc que j'ai lu et vu à plusieurs reprises et pour lequel je ne suis pas (au moins en partie) d'accord. Donc vos avis m'aiderons, je l'espère, à mieux comprendre et accepter ceci.
Quand, dans une fonction jQuery on utilise le this pour faire référence à l'objet appelé, il est conseillé deux choses :
1/ de l'attribuer à une variable, qu'on utilisera à chaque fois par la suite à la place du $(this)
2/ c'est mieux car on sait qui on appel.
Pour le coup, je suis largement dans le doute sur une histoire de performances (en Java c'est sûr qu'il n'y a aucune différences car c'est la JVM qui fait sa sauce. Si elle repère trop de this, elle peut d'elle-même décider de l'attribuer à une variable, si et seulement si de meilleures performances seront possibles). Pour JavaScript et jQuery, j'irais dans le même sens que Java mais je ne sais pas comment les navigateurs le prennent en charge.
Pour le coup de la lisibilité, là je ne suis carrément pas d'accord avec ça. Si la fonction ne fais que quelques lignes avec 2-3 variables, ok. Par contre quand on commence à partir sur plusieurs lignes et pleins de variables, je ne partage pas cet avis car en plus des variables nécessaires, il faut en plus repérer celle qui est le this. Ok, on peut y donner un nom clair, etc. Mais bon, je trouve que le plus simple est de laisser this, je vois pas en quoi c'est plus simple d'englober ça dans une variable.
Voilà, maintenant je vous laisse la parole et merci d'avances pour vos avis.
Modifié par MagicCarpet (13 Jan 2013 - 15:22)