⊗jsPmDmChA 355 of 505 menu

Zalety i wady łańcuchów w JavaScript

Pomimo że łańcuchy skracają kod, w większości przypadków wprowadzenie zmiennej jest jednak wygodniejsze. Porównaj dwa przykłady - teraz wprowadziłem zmienną elem i mogę zapisywać dowolną liczbę atrybutów, przy czym querySelector jest wywoływany tylko raz:

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

A teraz nie wprowadzam nowej zmiennej i dlatego muszę wywołać querySelector dwa razy:

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

Moim zdaniem, ten kod stał się trudniejszy, chociaż zajmuje o jedną linię mniej. Poza tym, jeśli chcę zmienić wartość id z 'elem' na jakąś inną, będę musiał zrobić to w wielu miejscach, co nie jest zbyt wygodne.

Jest jeszcze jeden problem - obciążenie przeglądarki. Wyszukiwanie elementów na stronie, które wykonuje metoda querySelector, jest dość wolną operacją (i ogólnie jakakolwiek praca z elementami strony - to wolna operacja - zapamiętaj to).

W naszym przypadku, jeśli za każdym razem używamy querySelector, to przeglądarka za każdym razem będzie przetwarzać HTML strony i szukać elementu z podanym id kilka razy (nie ma znaczenia, że id są takie same - przeglądarka wykona wszystkie działania kilka razy), wykonując bezużyteczne operacje, które mogą spowolnić pracę przeglądarki.

Jeśli jednak używamy zmiennej elem - żadnego wyszukiwania na stronie nie ma (element jest już znaleziony i odniesienie do niego znajduje się w zmiennej).

Dany jest następujący kod:

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

Wskaż wady tego kodu. Popraw je.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć