⊗jsPmDmChA 355 of 505 menu

Výhody a nevýhody reťazenia v JavaScripte

Napriek tomu, že reťazenie skracuje kód, vo väčšine prípadov je zavedenie premennej napriek tomu pohodlnejšie. Porovnajte dva príklady - teraz som zaviedol premennú elem a môžem zapisovať ľubovoľný počet atribútov, pričom querySelector sa volá iba jeden raz:

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

Teraz nezavádzam novú premennú, a preto musím volať querySelector dva krát:

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

Podľa môjho názoru sa tento kód stal zložitejším, hoci zaberá o jeden riadok menej. Okrem toho, ak budem chcieť zmeniť hodnotu id z 'elem' na inú, budem musieť urobiť to na mnohých miestach, čo nie je veľmi pohodlné.

Existuje aj ďalší problém - záťž pre prehliadač. Vyhľadávanie elementov na stránke, ktoré robí metóda querySelector, je pomerne pomalá operácia (a vo všeobecnosti akákoľvek práca s elementmi stránky - je to pomalá operácia - zapamätajte si to).

V našom prípade, ak zakaždým používame querySelector, prehliadač zakaždým bude spracovávať HTML stránku a hľadať element s daným id niekoľko krát (nech sú id akékoľvek rovnaké - prehliadač vykoná všetky akcie niekoľko krát), vykonávaním zbytočných operácií, ktoré môžu spomaliť prácu prehliadača.

Ak použijeme premennú elem - k žiadnemu vyhľadávaniu na stránke nedochádza (element je už nájdený a odkaz naň je uložený v premennej).

Daný je nasledujúci 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 tohto kódu. Opravte ich.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť