⊗jsPmDmChA 355 of 505 menu

Voor- en nadelen van kettingen in JavaScript

Ondanks het feit dat kettingen code verkorten, is het in de meeste gevallen toch handiger om een variabele te introduceren. Vergelijk twee voorbeelden - nu heb ik een variabele elem geïntroduceerd en kan ik een willekeurig aantal attributen opschrijven, terwijl querySelector slechts één keer wordt aangeroepen:

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

Nu introduceer ik geen nieuwe variabele en daarom moet ik querySelector twee keer aanroepen:

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

Naar mijn mening is deze code complexer geworden, hoewel hij één regel minder beslaat. Bovendien, als ik de waarde van id wil wijzigen van 'elem' naar een andere, moet ik dit op veel plaatsen doen, wat niet erg handig is.

Er is nog een probleem - de belasting van de browser. Het zoeken naar elementen op de pagina, wat de methode querySelector doet, is een vrij trage operatie (en over het algemeen is elke werk met paginaelementen een trage operatie - onthoud dit).

In ons geval, als we elke keer querySelector gebruiken, dan zal de browser elke keer de HTML-pagina verwerken en opnieuw het element met het opgegeven id zoeken (het maakt niet uit dat de id hetzelfde is - de browser zal alle handelingen meerdere keren uitvoeren), waardoor nutseloze operaties worden uitgevoerd die de werking van de browser kunnen vertragen.

Als we daarentegen de variabele elem gebruiken - vindt er geen zoekactie op de pagina plaats (het element is al gevonden en een verwijzing ernaar bevindt zich in de variabele).

Gegeven de volgende code:

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

Wijs op de tekortkomingen van deze code. Verbeter ze.

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren