Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Pouze tento týden sleva až 80 % na e-learning týkající se Swiftu. Zároveň využij výhodnou slevovou akci až 30 % zdarma při nákupu e-learningu - více informací.
swift week + discount 30
Avatar
Kamil
Člen
Avatar
Kamil:6.9.2021 8:17

Ahoj,

jaky je rozdil mezi:

document.addEventListener('click', e => {});

a

document.addEventListener('click',function ({

});

Zkusil jsem: -

Chci docílit: chci zjistit rozdíl.

 
Odpovědět
6.9.2021 8:17
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6.9.2021 10:14

https://developer.mozilla.org/…ventListener
(oficialni dokumentace k programu mozilla firefox)

el.addEventListener("click", modifyText, false);
// modifyText je handle/odkaz_na_pamet na funkci definovanou
// v dalsim js kodu: function modifyText() {}
// el je element, treba document

el.addEventListener("click", () => { modifyText("four"); }, false);
// () => { modifyText("four"); } - to je vytvoreni nove funkce, ktera nema
// name (tj, anonymni funkce), a uvnitr te funkce se spousti jina, definovana v dalsim js kodu

my_element.addEventListener('click', (e) => {
  console.log(this.className)           // WARNING: `this` is not `my_element`
  console.log(e.currentTarget === this) // logs `false`
})
// definovani funkce s parametrem e, protoze eventove funkce ve firefoxu
// predavaji hodnoty eventu a ten ti ulozi prave do prvniho parametru, treba e.
// Ja bych pouzival event. Ten parametr pak vyuzivat treba pro event.target,
// pokud event navazes na element dokument, treba.

---

function handleEvent (event)  {...}
element.addEventListener('click', handleEvent , false);

const handleEvent = (event) => {...}
element.addEventListener('click', handleEvent , false);

element.addEventListener('click', (event) => {...} , false); // Add event listener to element with an arrow function
element.addEventListener('click', () => {...} , false);
element.addEventListener('click', function (event) {...} , false);
element.addEventListener('click', function () {...} , false);
element.onclick = handleEvent; // function handleEvent (event)  {...}
element.onclick = function (event) {...};
element.onclick = (event) => {...};

https://developer.mozilla.org/…ow_functions

An arrow function expression is a compact alternative to a traditional function expression, but is limited and can't be used in all situations.

Cili, rozdil je v tom, ze arrow zapis funkce se neda pouzit vzdy.
A jinak, ty ten zapis mas spatne, zavorky a tak.

Editováno 6.9.2021 10:16
 
Nahoru Odpovědět
6.9.2021 10:14
Avatar
Kamil
Člen
Avatar
Odpovídá na Peter Mlich
Kamil:6.9.2021 18:17

Ahoj, ano ano, mas pravdu měl jsem tam chybu. Psal jsem tento dotaz v práci na rychlo.

document.addEventListener('click',function(){

});

Chápu spíše to tak, že první verze kodu je ES6 a druhá "čistý" - (nevím jak to přesně napsat) javascript?

 
Nahoru Odpovědět
6.9.2021 18:17
Avatar
Kamil
Člen
Avatar
Odpovídá na Kamil
Kamil:6.9.2021 18:57

Nebo je to ES6 a ES5?

 
Nahoru Odpovědět
6.9.2021 18:57
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Peter Mlich
Člen
Avatar
Peter Mlich:6.9.2021 20:16

Nerozumim ani slovo.
Ja delam programovani jako konicka, pac v brne byli nafoukani a nevzali mne, protoze jsem nemel moznost psat pulsemetralku a nemel dost bodu na lepsi znamku, kterou tam chteli. Takze jsou pro mne nejake cinske pojmy v IT naprosto nezajimave.

Js se vyviji. Pridali do nej arrow syntaxi. Nevim proc, nelibi se mi, je neprehledna, ale to neni muj problem. Funguje. Pravdepodobne jde o impementaci s jineho jazyka.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
6.9.2021 20:16
Avatar
Kamil
Člen
Avatar
Odpovídá na Peter Mlich
Kamil:6.9.2021 21:39

Už si rozumíme, přesně tak jak si to napsal jsem to myslel. Díky.

 
Nahoru Odpovědět
6.9.2021 21:39
Avatar
JsonKody
Člen
Avatar
Odpovídá na Kamil
JsonKody:22.11.2021 7:39

Neni v tom zadny rozdil (v tomto případě). Jen u arrow function setris pismenka.

 
Nahoru Odpovědět
22.11.2021 7:39
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 7 zpráv z 7.