🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
2 messages
2 total messages Started by smerf Wed, 20 Jul 2011 21:46
prosba o wyjasnienie
#50830
Author: smerf
Date: Wed, 20 Jul 2011 21:46
26 lines
1524 bytes
Czy ktos mi wyjasni linia po linii co to jest ?


    1. (function ($, undefined) {
    2.     $.extend({
    3.         loadTemplates: function (templateUrl) {
    4.             $.get(templateUrl, function (templates) {
    5.                 $(templates).filter("script")
    6.                     .each(function () {
    7.                         var templateName = $(this).attr("id");
    8.                         $(this).template(templateName);
    9.                     });
   10.             });
   11.         }
   12.     })
   13. })(jQuery)


Chodzi przede wszystkim o to co jest najbardziej na zewnatrz bo takiej 
skladni nie widzialem

(function ($, undefined) {
..
})(jQuery)

I po co to undefined ?
Re: prosba o wyjasnienie
#50831
Author: Paweł Piskorz
Date: Wed, 20 Jul 2011 23:22
37 lines
2074 bytes
W dniu 2011-07-20 23:46, smerf pisze:
> Czy ktos mi wyjasni linia po linii co to jest ?
>
> Chodzi przede wszystkim o to co jest najbardziej na zewnatrz bo takiej
> skladni nie widzialem
>
> (function ($, undefined) {
> ..
> })(jQuery)

Jest to utworzenie i wykonanie od razu anonimowej funkcji, coś jak:
function anonimowa($, undefinied){}
anonimowa(jQuery);

W podanym przez Ciebie przykładzie przydaje się to tylko do tego, żeby 
nie pisać jQuery tam gdzie jest $. Zwykle wewnątrz tej funkcji są 
definiowane zmienne, które dzięki takiej konstrukcji będą widoczne tylko 
wewnątrz niej (coś jak prywatne) i nie zaśmiecą Ci globalnej przestrzeni:
(function() {
	var zmienna = 'test';
	alert( zmienna ); // wywoła komunikat 'test'
})()
alert( zmienna ); // zwróci ReferenceError: zmienna is not defined
Poczytaj o closures i funkcjach anonimowych.

> I po co to undefined ?

Pewnie zostało z jakiegoś szablonu.

Dalej tam jest dodawanie do jQuery metody loadTemplates, tu już dowolny 
tutorial o tworzeniu pluginów do jQuery Ci wszystko wyjaśni.


-- 
message[autor="PablO"]::after {
	content:"Pozdrawiam";
}
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads