Triko zdarma Triko zdarma
Spouštíme individuální výuku programování! Zaváděcí slevy 799 Kč 599 Kč/60 minut se zkušeným lektorem! Výuka osobně Praha a okolí nebo po Skype celá ČR. O termíny a slevu si pište na [email protected].
Extra 10 % bodů navíc a tričko zdarma při zadání kódu "TRIKO10"

Diskuze: Co znamená "this"?

JavaScript JavaScript Co znamená "this"? American English version English version

Aktivity (1)
Avatar
Vojta Korduliak:24.10.2018 21:23

Ahoj,

učím se javascript a byl jsem v 10. dílů (Editor tabulek v JavaScriptu), když jsem narazil na věc co nechápu a co tam (nejspíš) není vysvětlená. Jedná se o toto
Mohl by mi to prosím někdo jednoduše vysvětlit?

 
Odpovědět 24.10.2018 21:23
Avatar
Honza Bittner
Šupák
Avatar
Odpovídá na Vojta Korduliak
Honza Bittner:24.10.2018 21:28

Však to u toho máš vysvětlené, viz poslední větu, resp. obsah závorky. Co chceš k tomu dodat? :-)

Nahoru Odpovědět  +1 24.10.2018 21:28
Milovník Dartu. Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/...
Avatar
Odpovídá na Vojta Korduliak
Vladislav Ladicky:24.10.2018 21:34

Páči sa mi tá veta s linkom "Jedná se o toto". Ani nevieš ako si sa trafil, ono sa naozaj jedná práve o "toto" :D

 
Nahoru Odpovědět  +1 24.10.2018 21:34
Avatar
Vojta Korduliak:24.10.2018 21:35

Možná jsem trochu nechápavý, ale je to na mě moc složitě vysvětlené.

A ano.. vím :D

 
Nahoru Odpovědět 24.10.2018 21:35
Avatar
Honza Bittner
Šupák
Avatar
Odpovídá na Vojta Korduliak
Honza Bittner:24.10.2018 21:38

V JavaScriptu je řešený kontext trochu jinak, něž jak bys čekal (a možná i než ve většině jazyků). Tady jen autor upozorňoval na to, že klíčové slovo this odkazuje na daný <input>, viz tdInput.onFocus, který vyvolal událost. Tedy ten input, na který jsi klikl či se přesunul tabem.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět 24.10.2018 21:38
Milovník Dartu. Student FIT ČVUT. Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/...
Avatar
Vojta Korduliak:24.10.2018 21:49

Jó už to chápu...
Já jen nevěděl jak ta tabulka bude přesně fungovat a co dělá to "this".

Děkuji za pomoc.

 
Nahoru Odpovědět 24.10.2018 21:49
Avatar
Šimon Raichl
Překladatel
Avatar
Odpovídá na Vojta Korduliak
Šimon Raichl:24.10.2018 21:49

Jak rika Honza Bittner, this se da pouzit ruzne, ono to muzes i zapsat treba takhle

tdInput.addEventListener("focus", e => {
    aktivniBunka = e.target;
});

Mimochodem this se da taky pouzit pri definovani vlastnosti tridy, coz je treba taky celkem neobvykly, ze je muzes definovat primo v konstruktoru:

class Example {
    constructor() {
        this.property = "value";
    }

    getProperty() {
        return this.property;
    }
}
 
Nahoru Odpovědět  +1 24.10.2018 21:49
Avatar
gold604
Člen
Avatar
gold604:24.10.2018 21:51

Ak vieš po anglicky, MDN web docs je super zdroj, ak by si niečo v JS nerozumel. Tu písali o this: https://developer.mozilla.org/…erators/this

Editováno 24.10.2018 21:52
 
Nahoru Odpovědět  +1 24.10.2018 21:51
Avatar
gold604
Člen
Avatar
Odpovídá na gold604
gold604:24.10.2018 22:00

Konkrétnejšie si pozri túto sekciu https://developer.mozilla.org/…erators/this#… - keď funkcia v ktorej this používaš je využitá ako DOM event handler.

Editováno 24.10.2018 22:01
 
Nahoru Odpovědět 24.10.2018 22:00
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.