2013-09-22 16 views
7

Brałem spojrzeć przez bootstrap JS źródła i natknąłem się na coś, czego nie widzieliśmy wcześniej:Bootstrap deklaracja funkcji

+function ($) { "use strict"; 
//... 
}(window.jQuery); 

co chodzi z + w przedniej części deklaracji funkcji? Czy ma to złagodzić niektóre potencjalne problemy z minifikacją?

Uważam, że umieszczenie znaku przed typem wyrażenia konwertuje wynik wyrażenia na liczbę, ale nie widzę, jakie znaczenie miałoby to tutaj.

Dzięki dla każdego, kto może rzucić trochę światła na to dla mnie.

Odpowiedz

8

Jest tak, że deklaracja funkcji jest wyrażeniem funkcji, dzięki czemu może być natychmiast wykonana.

Zazwyczaj że odbywa się przez wprowadzenie nawiasów wokół niego:

(function ($) { "use strict"; 
//... 
}(window.jQuery)); 

czyli

(function ($) { "use strict"; 
//... 
})(window.jQuery); 
+0

interesujący, więc + zasadzie „ocenia” kod, który następuje to który zamienia go w wyrażeniu? Zakładam też, że nie ma różnicy między używaniem + przed deklaracją funkcji lub umieszczaniem nawiasów wokół niej (deklaracja funkcji)? – Adam

+0

@Adam: Tak, w obu przypadkach chodzi tylko o to, by składnia nie była zwykłą definicją funkcji, aw obu przypadkach wynik całego wyrażenia (tj. Wartość zwracana z funkcji) jest ignorowana. – Guffa

Powiązane problemy