⊗jsPmDmChA 355 of 505 menu

Prednosti in slabosti veriženja v JavaScript

Kljub temu, da verižice skrajšajo kodo, je v večini primerov vnos spremenljivke vseeno bolj priročen. Primerjajta dva primera - zdaj sem vnesel spremenljivko elem in lahko zapišem poljubno število atributov, pri temer se querySelector pokliče samo enkrat:

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

Zdaj ne vnašam nove spremenljivke in zato moram poklicati querySelector dvakrat:

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

Po mojem mnenju je ta koda postala bolj zapletena, čeprav zavzema eno vrstico manj. Poleg tega, če želim spremeniti vrednost id iz 'elem' na kakšno drugo, bom moral to storiti na več mestih, kar ni zelo priročno.

Obstaja še ena težava - obremenitev brskalnika. Iskanje elementov po strani, ki ga izvaja metoda querySelector, je precej počasna operacija (in na splošno je katero koli delo z elementi strani - počasna operacija - zapomnite si to).

V našem primeru, če vsakič uporabimo querySelector, bo brskalnik vsakič obdelal HTML stran in iskal element z danim id večkrat (ni pomembno, da so id enaki - brskalnik bo izvedel vsa dejanja večkrat), in izvajal neuporabne operacije, ki lahko upočasnijo delovanje brskalnika.

Če pa uporabimo spremenljivko elem - ne pride do nobenega iskanja po strani (element je že najden in sklic nanj leži v spremenljivki).

Podana je naslednja koda:

<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);

Opišite pomanjkljivosti te kode. Popravite jih.

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni