141 votes

jQuery document.ready vs auto appel fonction anonyme

Quelle est la différence entre ces deux.

  1. ``
  2. ``

Ces deux fonctions sont appelées en même temps ? Je sais, document.ready se déclenchera lorsque toute la page HTML est rendue par le navigateur mais que sur la 2ème fonction (auto appel fonction anonyme). Il attend navigateur pour effectuer le rendu de la page ou il est appelé chaque fois qu’il est rencontré ?

117voto

jAndy Points 93076
  • $(document).ready(function(){ ... }); ou de court - $(function(){...});

    Cette Fonction est appelée lorsque l' DOM is ready ce qui signifie, vous pouvez commencer à la requête des éléments par exemple. .ready() va utiliser de différentes manières sur les différents navigateurs pour s'assurer que le DOM EST vraiment prêt.

  • (function(){ ... })();

    Qui n'est rien d'autre qu'une fonction qui s' appelle elle-même dès que possible lorsque le navigateur est l'interprétation de votre ecma-/javascript. À cet effet, il est très peu probable que vous pouvez avec succès la loi sur DOM elements ici.

45voto

Michal Points 698

``sera exécutée dès qu’elle est rencontrée dans le code Javascript.

sera exécuté une fois que le document est chargé.est un raccourci pour `` et fait exactement la même chose.

26voto

  1. $(document).ready(function() { ... }); simplement se lie que la fonction de l' ready événement du document, de sorte que, comme vous l'avez dit, lorsque le document est chargé, déclenche l'événement.

  2. (function($) { ... })(jQuery); est en fait une construction de Javascript, et tout ce morceau de code n'est de passer la jQuery objet en function($) comme paramètre et exécute la fonction, donc à l'intérieur de cette fonction, $ se réfère toujours à l' jQuery objet. Cela peut aider à résoudre namespacing conflits, etc.

Donc #1 est exécutée lorsque le document est chargé, tandis que le no 2 est exécuté immédiatement, avec l' jQuery objet nommé $ raccourci.

16voto

srigi Points 550

document.Ready exécuter une fois DOM « construite ». L’appel de fonctions fonctionne instantanément - si insérée dans `` , avant la construction de DOM.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X