78 votes

Quelle est la différence entre ces fonctions prêtes pour jQuery?

quelle est la différence entre

 $(function(){

}); 
 

et

 $(document).ready(function() { 

});
 

58voto

SLaks Points 391154

Rien que ce soit.

Cette fonction se comporte exactement comme $ (document) .ready (), en ce sens qu'elle devrait être utilisée pour envelopper d'autres $ ()

Vous pouvez le voir dans le code source :

 rootjQuery = jQuery(document);

...

} else if ( jQuery.isFunction( selector ) ) {
    return rootjQuery.ready( selector );
}
 

15voto

Raynos Points 82706
 } else if (jQuery.isFunction(selector)) {
    return rootjQuery.ready(selector);
}
 

De la source

L'appel de $(document).ready(selector) enregistre quelques instructions if.

Bien que jQuery mette en cache $(document) interne, cela pourrait accélérer $(f) .

Benchmarked

10voto

BrokenGlass Points 91618

Les deux sont équivalents, le premier est une forme abrégée.

7voto

XGreen Points 5172

$ (function () {}) est un raccourci pour le dom ready

Une fonction transmise en tant qu'argument au constructeur jQuery est liée à l'événement document ready.

7voto

foliveira Points 166

Je vous suggère de lire ceci . Comme vous pouvez le voir

Les trois syntaxes suivantes sont équivalentes:

$(document).ready(handler)

$().ready(handler) (this is not recommended)

$(handler)

Alors, ça dépend de vous et de ce que vous préférez.

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