Diskuze: This
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.


Zobrazeno 18 zpráv z 18.
K personalizaci obsahu a reklam, poskytování funkcí sociálních médií a analýze naší návštěvnosti využíváme soubory cookie. Informace o tom, jak náš web používáte, sdílíme se svými partnery pro sociální média, inzerci a analýzy. Partneři tyto údaje mohou zkombinovat s dalšími informacemi, které jste jim poskytli nebo které získali v důsledku toho, že používáte jejich služby.
Používáme nezbytné cookies pro fungování webu a s tvým souhlasem také analytické a marketingové cookies.
Zajišťují základní funkce, bezpečnost a služby, které sis vyžádal. Nelze je vypnout.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| ITnetwork | ITnetwork | Provoz webu, relace, přihlášení a uložení nastavení cookies. | PHPSESSID, auth_token, sid, itn_consent_impression, __Host-itn_consent | Relace až 1 rok |
| Google Tag Manager | Správa značek a načítání měřicích nástrojů webu. | Žádné | Neukládá se | |
| Google Fonts | Načítání typografie webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google Hosted Libraries | Načítání potřebných knihoven a stylů webu. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele | |
| Google reCAPTCHA | Ochrana formulářů a webu před zneužitím. | _GRECAPTCHA, rc::a, rc::b, rc::c, rc::f | Relace až 180 dní | |
| YouTube | Přehrávání vloženého video obsahu. | localStorage, IndexedDB; cookies after playback interaction | Relace až trvalé úložiště | |
| Vimeo | Vimeo | Přehrávání vloženého video obsahu. | __cf_bm, _cfuvid, vuid, localStorage, IndexedDB | Relace až 2 roky |
| Facebook Login | Meta | Přihlášení pomocí účtu třetí strany. | Úložiště řízené poskytovatelem | Relace až 1 rok |
| GoPay | GoPay | Zpracování uživatelem vyžádané platby. | Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
Pomáhají nám porozumět používání webu a zlepšovat ho.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Analytics 4 | Měření návštěvnosti a používání webu. | _ga, _ga_* | Až 2 roky | |
| Microsoft Clarity | Microsoft | Měření návštěvnosti a používání webu. | _clck, _clsk, _cltk | Relace až 1 rok |
Slouží k měření kampaní, personalizaci reklamy a marketingové komunikaci.
| Služba | Poskytovatel | Účel | Cookies a úložiště | Doba uložení |
|---|---|---|---|---|
| Google Ads | Měření kampaní, reklama a remarketing. | _gcl_au, _gcl_ls | Relace až 90 dní | |
| Meta Pixel | Meta | Měření kampaní, reklama a remarketing. | _fbp, _fbc, localStorage | Až 90 dní |
| Sklik | Seznam.cz | Měření kampaní, reklama a remarketing. | retargeting, sid, szn:* | Relace až trvalé úložiště |
| LinkedIn Insight | Měření kampaní, reklama a remarketing. | bcookie, li_gc, lidc, __cf_bm | Relace až 1 rok | |
| Ecomail | Ecomail.cz | Měření kampaní, reklama a remarketing. | ecmid, Úložiště řízené poskytovatelem | Dle podmínek poskytovatele |
| Atribuce kampaní ITnetwork | ITnetwork | Přiřazení návštěvy a objednávky ke kampani. | campaign_clid[*], user_session_context | Až 1 rok |
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.


this je prostředí, ve kterém se vykonává funkce.
Může to být například HTML element v DOM události:
// this je HTMLElement
element.addEventListener('click', function() { console.log(this); }, false);
// nebo jQuery, this je jQuery wrapper nad HTMLElementem
element.click(function() { console.log(this); });
Nebo to může být objekt, v jehož metodě/konstruktoru něco děláš.
function Point(x, y) {
this.x = x;
this.y = y;
};
var zero = new Point(0, 0);
console.log(zero.x === 0);
console.log(zero.y === 0);
Dokonce to nemusí být objekt. Dá se totiž dynamicky měnit a v podstatě
jakoukoli funkci můžeš zavolat s jiným kontextem. Na to slouží metody
.call(kontext, argument1, argument2, ...) nebo .apply(kontext, poleArgumentů),
které najdeš na prototypu objektu Function.
// zavolání funkci slice z objektu Array na objektu, který je mu podobný (např. NodeList)
var array = Array.prototype.slice.call(arrayLikeObject, 0);
// zavolá callback funkci, pro kterou bude this odpověď na nějaký požadavek (třeba AJAX)
var result = callback.apply(response, args);
"this" je reference na objekt, v kterém se metoda vykonává. Mimo objekt je to Window.
Prostě vytvoříš objekt "NejakyObjekt". Dáš mu metodu "nejakaMetoda". No a pokud zavoláš "NejakyObjekt.nejakaMetoda()", tak uvnitř bude platit "this === NejakyObjekt". To je celé kouzlo. Na pochopení ti doporučím zahraniční tutorialy o OOP v javascriptu. Nebo vyhledej na google "javascript this". Nejspíš i nějaký tutorial najdeš. Nemusí to být ani javascript, this mají všechny jazyky.
Tak jasný, že ne všechny, ale převážná většina. Python je kapitola sama o sobě.
ale jenom v JavaScriptu není this vždycky stejné.
Pokud ho nezavoláš s jiným kontextem, tak platí co jsem psal. Čili metody "apply" a "call" neřeším.
já to vím, ale začátečníka třeba nenapadne, že když to zavolá v setInterval, tak to nebude fungovat.
Mimo objekt bude this obsahovat Window, to jsem psal. setInterval je metoda objektu window, čili this === window. Čili co jsem psal, tak platí pořád. Vlastně window je globální objekt, v kterém se vše děje.
sup není konstruktor. Čili smaž prototype a pojede to. Většina prohlížečů má ale objekt HTMLElement nebo odnož a ten konstruktorem je.
sup.farba = function(){
this.style.color="blue";
};
nebo
Element.prototype.farba = function(){
this.style.color="blue";
};
V druhém případě tu metodu budou mít všechny DOM Elementy.
Zobrazeno 18 zpráv z 18.