jQuery - pytanie o fragment kodu

jQuery - pytanie o fragment kodu
jakub_poc
  • Rejestracja:około 12 lat
  • Ostatnio:ponad 11 lat
0

Witam,
Czy jest ktos w stanie mi wytlumaczyc badz naprowadzic co oznacza fragment kodu:

Kopiuj
(function($, undefined) {

.. tutaj jakies funkcje

})(jQuery);

source na google code:
https://code.google.com/p/primefaces/source/browse/primefaces/trunk/src/main/resources/META-INF/resources/primefaces/schedule/schedule.js?r=6152

dzieki za pomoc,

edytowany 2x, ostatnio: Demonical Monk
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około miesiąc
  • Lokalizacja:Rzeszów
2

funkcja anonimowa (zapraszam do google), wywołująca się sama z parametrem jQuery(który to wewnątrz funkcji przyjmuje nazwę $). po co jest undefined to nie wiem. taki zapis służy zapewne temu, żeby wywołać ten kod ale tylko jednokrotnie (skoro funkcja nie ma nazwy to drugi raz jej nie wywołasz) i móc używać znaku dolara jako aliasu obiektu jQuery, nawet jeżeli jQuery jest w trybie noConflict

edit: co do undefined znalazłem to: http://stackoverflow.com/questions/4650442/javascript-function-with-undefined-parameter


edytowany 1x, ostatnio: dzek69
hauleth
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:9 dni
1
dzek69 napisał(a):

po co jest undefined to nie wiem. taki zapis służy zapewne temu, żeby wywołać ten kod ale tylko jednokrotnie (skoro funkcja nie ma nazwy to drugi raz jej nie wywołasz) i móc używać znaku dolara jako aliasu obiektu jQuery, nawet jeżeli jQuery jest w trybie noConflict

To jest tak zwane podejście AMD. Służy ono temu, by między innymi nie zaśmiecać globalnej przestrzeni nazw.


jakub_poc
  • Rejestracja:około 12 lat
  • Ostatnio:ponad 11 lat
0

Dzieki za pomoc,
Ze swojej strony zalazlem jeszcze artykul: http://enterprisejquery.com/2010/07/create-your-first-jquery-plugin-part-1-transition-from-everyday-jquery-code-to-base-plugin/

Tez moze sie przydac w kwesti zrozumienia tego kawalka kodu.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.