A következő napokban érkezik néhány a jQuery coreból kiragadott példa, lássuk az elsőt. :)
A mai napon a "self-executing" függvényről lesz szó, amely a következőképpen néz ki:
(function(window, undefined){
// Use the correct document accordingly with window argument (sandbox)
var document = window.document;
//...
})(window)
De mit is csinál ez?
- azonnal indulás
- a globális window objektumot kapja
- az undefined mindig undefined lesz
- névtér problémák elkerülésére megoldás lehet
Mi az, hogy az undefined mindig undefined?
Nos erre nézzük egy példát.
undefined = true; // ez ugyebár js-ben teljesen megengedett
var selfwindow = (function (window, undefined){
/*az undefined argumentum mindig undefined,
azaz sosem lesz értéke */
return {
// belerakom a selfwindow objektumba 'undef'
// néven ezt az igazi undefined értéket 'undef':undefined
};
})(window);
alert( undefined ); //ez true
alert( selfwindow.undef ); //ez pedig undefined
Azonnali indulás?
Igen, ( amennyiben a scriptünk a head-ben van ) akkor még a HTML elemek betöltődése előtt végrehajtódhat, amennyiben eseménybeállítást szeretnénk végezni, használjuk a .ready() eseményt.
Névtér problémák?
Tegyük fel, hogy írnunk kell egy jQuery plugin ( a blogon a későbbiekben lesz még erről szó ), akkor fontos, hogy minden körülmények között működjön, ezért lehetőleg ne használjuk a $ jelet, ugyanis más js libraryk is ezt használják.
Azonban ha mégis szeretnéd itt egy egyszerű megoldás:
(function($){})(jQuery)
Így a pluginunk mindig a jQuery dollárt fogja alkalmazni.
Összefoglalásként ajánlom mindenkinek, hogy dobja oda a jQuery forráskódot a böngésző könyvjelző toolbarra, és időnként nézegesse.:)