39 votes

Signe de dollar avant la fonction anonyme auto-déclarante en JavaScript ?

Quelle est la différence entre ces deux :

$(function () {
    // do stuff
});

ET

(function () {
    // do stuff
})();

54voto

g.d.d.c Points 20164

La première utilise jQuery pour lier une fonction à l'événement document.ready. Le second déclare et exécute immédiatement une fonction.

24voto

voigtan Points 4834

$(function() {}); est un raccourci jQuery pour

 $(document).ready(function() { 
     /* Handler for .ready() called. */ 
 });

Alors que (function() {})(); est une expression de fonction instantanément invoquée, ou Life. Cela signifie que c'est une expression (pas une instruction) et qu'elle est invoquée instantanément après sa création.

5voto

nathan gonzalez Points 5866

l'une est une fonction jquery $(document).ready et l'autre est juste une fonction anonyme qui s'appelle elle-même.

2voto

shekhardtu Points 435
$(function () {
    // It will invoked after document is ready
});

Cette exécution de fonction une fois que les documents sont prêts signifie que tout le HTML devrait être chargé avant son exécution, mais dans le second cas, la fonction appelée immédiatement après sa création.

(function () {
    // It will invoked instantly after it is created
})();

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