⊗jsPmDmChA 355 of 505 menu

Výhody a nevýhody řetězení v JavaScriptu

Přestože řetězení zkracuje kód, ve většině případů je zavedení proměnné přesto pohodlnější. Porovnejte dva příklady - nyní jsem zavedl proměnnou elem a mohu zapisovat libovolný počet atributů, přičemž querySelector je volán pouze jedenkrát:

let elem = document.querySelector('#elem'); elem.value = 'www'; elem.type = 'submit';

Nyní nezavádím novou proměnnou, a proto musím volat querySelector dvakrát:

document.querySelector('#elem').value = 'www'; document.querySelector('#elem').type = 'submit';

Podle mého názoru se tento kód stal složitějším, ačkoli zabírá o jeden řádek méně. Kromě toho, pokud budu chtít změnit hodnotu id z 'elem' na nějakou jinou, budu muset to udělat na mnoha místech, což není příliš pohodlné.

Existuje ještě další problém - zátěž pro prohlížeč. Hledání elementů na stránce, které provádí metoda querySelector, je poměrně pomalá operace (a obecně jakákoli práce s elementy stránky je pomalá operace - zapamatujte si to).

V našem případě, pokud pokaždé používáme querySelector, prohlížeč pokaždé zpracuje HTML stránku a bude hledat element s daným id několikrát (nežádoucí je, že id jsou stejná - prohlížeč provede všechny akce několikrát), čímž provádí zbytečné operace, které mohou zpomalit práci prohlížeče.

Pokud použijeme proměnnou elem - k žádnému hledání na stránce nedochází (prvek již byl nalezen a odkaz na něj je uložen v proměnné).

Je dán následující kód:

<img id="image" src="avatar.png" width="300" height="500"> console.log(document.querySelector('#image').src); console.log(document.querySelector('#image').width); console.log(document.querySelector('#image').height);

Uveďte nedostatky tohoto kódu. Opravte je.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout