6
votes

Caching $ (ceci) à JQuery est une meilleure pratique?

Nous savons tous qu'il est bon de mettre en cache des appels vers le DOM, au lieu d'appeler davantage de fois («# un certainement»), il vous suffit de l'enregistrer à un certain nombre de personnes et d'utiliser cela.

Mais est-ce la même chose lorsque vous utilisez $ (ceci) à l'intérieur d'un auditeur d'événements par exemple? Devrait être $ (ceci) être mis en cache?

merci.


1 commentaires

Je suppose que cela dépend entièrement de ce que le modèle d'utilisation est pour $ (this) .


3 Réponses :


2
votes

Si vous vous référez au même élément plus loin dans la fonction d'événement, oui. En dehors de la fonction, il n'a aucun sens de le faire car la valeur de ce aura changé.


0 commentaires

7
votes

Si vous appelez $ (ceci) plusieurs fois, il est préférable de faire quelque chose comme var $ ceci = $ (Ceci);


3 commentaires

Y a-t-il un gain de performance ou est-ce juste pour sauver des caractères (2 par usage)?


@ TX3 Non, ce n'est pas seulement pour enregistrer des caractères, il enregistre les appels de fonction. Vous avez fait appel à chaque fois lorsque vous faites $ (this) .


Bien sûr, je pensais juste à quel type de fonctionnement il fait quand il fait "l'emballage". Quoi qu'il en soit, je l'utilise comme vous l'avez suggéré, donc c'était juste la curiosité.



7
votes

Chaque fois que vous appelez $ (ceci) ou $ (sélecteur) Il s'agit d'un appel de la fonction pour créer un nouvel objet JQuery ... Donc, si vous avez déjà créé une fois, la mise en cache sauvegardera appeler une fonction pour créer à nouveau le même objet


0 commentaires