⊗jsPmDmChA 355 of 505 menu

Ahelate eelised ja puudused JavaScriptis

Hoolimata asjaolust, et ahelad koodi lühendavad, on enamikel juhtudel muutuja kasutuselevõtt siiski mugavam. Võrdle kahte näidet - nüüd võtsin kasutusele muutuja elem ja saan kirjutada suvalise arvu atribuute, samal ajal kui querySelector kutsutakse välja ainult üks kord:

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

Nüüd ma ei võta kasutusele uut muutujat ja seetõttu pean kutsuma querySelector kaks korda:

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

Minu arvates muutus see kood keerulisemaks, kuigi see võtab ühe rea võrra vähem ruumi. Lisaks sellele, kui ma soovin muuta id väärtust 'elem' pealt mõnele teisele, pean ma seda tegema paljudes kohtades, mis pole eriti mugav.

On ka veel üks probleem - brauseri koormus. Elementide otsimine lehelt, mida teeb meetod querySelector, on üsna aeglane operatsioon (ja üldse on igasugune töö lehe elementidega - aeglane operatsioon - jätke see meelde).

Meie juhul, kui me kasutame iga kord querySelector, siis brauser iga kord töötleb HTML-lehe ja otsib elementi etteantud id-ga mitu korda (ükskõik, et id on samad - brauser teeb kõik toimingud mitu korda läbi), sooritades kasutuid operatsioone, mis võivad brauseri tööd aeglustada.

Kui aga kasutame muutujat elem - siis mingit otsimist lehelt ei toimu (element on juba leitud ja viide sellele asub muutujas).

Antud on järgmine kood:

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

Näidake selle koodi puudusi. Parandage need.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu