⊗jsPmDmChA 355 of 505 menu

Предимства и недостатки на вериги в JavaScript

Въпреки че веригите съкращават кода, в повечето случаи въвеждането на променлива все пак е по-удобно. Сравнете двата примера - сега въведох променлива elem и мога да записвам произволен брой атрибути, като querySelector се извиква само веднъж:

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

А сега не въвеждам нова променлива и затова трябва да извикам querySelector два пъти:

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

Според мен, този код стана по-сложен, въпреки че заема с един ред по-малко. Освен това, ако искам да сменя стойността на id от 'elem' на някаква друга, ще трябва да го правя на много места, което не е много удобно.

Има и още един проблем - натоварването на браузъра. Търсенето на елементи в страницата, което прави методът querySelector, е доста бавна операция (и като цяло всяка работа с елементи на страницата - това е бавна операция - запомнете това).

В нашия случай, ако използваме querySelector всеки път, браузърът ще обработва HTML страницата и ще търси елемента с зададения id няколко пъти (няма значение, че id са еднакви - браузърът ще извърши всички действия няколко пъти), извършвайки безполезни операции, които могат да забавят работата на браузъра.

Ако използваме променлива elem - няма търсене в страницата (елементът вече е намерен и връзка към него се намира в променливата).

Даден е следният код:

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

Посочете недостатъците на този код. Поправете ги.

Български
AfrikaansAzərbaycanবাংলাБеларускаяČeštinaDanskDeutschΕλληνικά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
Ние използваме бисквитки за работата на сайта, анализ и персонализация. Обработката на данни се извършва в съответствие с Политика за поверителност.
приемам всички настройки отхвърляне