Thread View: pl.comp.lang.javascript
2 messages
2 total messages
Started by smerf
Wed, 20 Jul 2011 21:46
prosba o wyjasnienie
Author: smerf
Date: Wed, 20 Jul 2011 21:46
Date: Wed, 20 Jul 2011 21:46
26 lines
1524 bytes
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
Author: Paweł Piskorz
Date: Wed, 20 Jul 2011 23:22
Date: Wed, 20 Jul 2011 23:22
37 lines
2074 bytes
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