2011-06-19 5 views
9

Czekam na jQuery resize wtyczki i nie może zrozumieć pewne rzeczy o tym, jak to działa:dlaczego musimy przekazać w oknie i niezdefiniowane do tej wtyczki jquery?

zwykle my tylko przechodzą w obiekcie Jquery do wtyczek jQuery tak:

(function($){ 
    ....plugin code.... 
})(jQuery); 

W „resize "plugin istnieje okno i niezdefiniowane obiekty są przekazywane w:

(function($,window,undefined){ 
    ....plugin code.... 
})(jQuery,this); 

IMHO - okno jest globalnym obiektem w każdym razie - dlaczego musimy przekazać go w? logika za przejściem w niezdefiniowanym obiekcie rozumiem jeszcze mniej. Jestem pewien, że musi być jakiś powód - ale nie mogę o niczym myśleć.

Czy ktoś może wyjaśnić, dlaczego tak się dzieje?

Odpowiedz

12

jest to bardzo dobrze wyjaśnione w wideo this.

zasadniczo można ustawić te zmienne w funkcji samoczynnego wywołania, aby upewnić się, że działają zgodnie z oczekiwaniami.

„dupek efekt” undefined = true; -Paul irish

ponadto przekazując je jako argumenty mogą być również minified.

tj.

(function(A,B,C){ 
    ....plugin code.... 
})(jQuery,this); 
+0

ha :) koleś na wideo jest zabawny. świetny link. dzięki – Stann

Powiązane problemy