2013-04-19 18 views
6
; (function ($, undefined) 
{ 

    // all the variables and functions of the js document 

})(jQuery); 

Widziałem to już dwa razy w plikach jquery/javascript dla skryptu powiększania .Nie rozumiem, co to jest dokładnie.Nie wydaje mi się, że google to, I nie zapamiętajcie tego na tizag lub w3schools, podczas gdy ostatnio uczysz się jquery i js.

Nie ma niczego przed lub po tym kodzie (innym niż kilka komentarzy). Tak więc jestem całkowicie zagubiony co do tego, co jest (function())(jQuery);.

+1

Prawie wszystko będzie jasne po przeczytaniu tego: http://james.padolsey.com/javascript/iife-argument-madness/ – romainberger

Odpowiedz

6
(function ($, undefined) 
{ 

    // all the variables and functions of the js document 

})(jQuery); 

wywołuje blok kodu zapewnia, że ​​wewnątrz

  • $ jest użyteczny w odniesieniu do jQuery
  • undefined jest undefined

i że każda minifier może zmienić undefined do krótszy etykieta.

Początkowy ; gwarantuje można powiązać ten plik z innego: bez tego, że masz błąd uruchomieniu pliku concatened jeśli jeden tuż przed było coś

(function(){ 

})() 
3

Jest to sposób na upewnienie się, że $ jest rzeczywiście obiektem jQuery i zapewnienie, że wszelkie zmienne lokalne i metody są zindywidualizowane, tzn. Nie powodują zanieczyszczenia on globalną przestrzeń nazw.

Jest to samo-wywołująca anonimowa funkcja, której parametrem jest jQuery, co oznacza, że ​​$ będzie obiektem jQuery.

Deklaracja w funkcji oznacza, że ​​wewnętrzne zmienne i metody nie będą widoczne poza tym elementem.

+4

Również - Średnik na początku to tylko środek bezpieczeństwa na wypadek, gdyby kod ten został dołączony po innych JS bez właściwe formatowanie. –

Powiązane problemy