⊗jsPmDmChA 355 of 505 menu

Javascript-də zəncirvari çağırışların üstünlükləri və çatışmazlıqları

Zəncirvari çağırışlar kodu qısaltsa da, əksər hallarda dəyişən təqdim etmək daha rahatdır. İki nümunəni müqayisə edin - indi mən elem dəyişənini təqdim etdim və istənilən sayda atribut təyin edə bilərəm, bununla da querySelector yalnız bir dəfə çağırılır:

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

İndi isə mən yeni dəyişən təqdim etmirəm və buna görə də mən querySelector-i iki dəfə çağırmaq məcburiyyətində qalıram:

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

Mənim fikrimcə, bu kod bir sətir az yer tutsa da, daha mürəkkəb oldu. Bundan əlavə, əgər mən id-nin qiymətini 'elem'-dən başqa birinə dəyişmək istəsəm, bunu bir çox yerdə etməli olacağam, ki bu da çox rahat deyil.

Başqa bir problem də var - brauzerə yüklənmə. querySelector metodunun etdiyi elementlərin səhifədə axtarışı kifayət qədər yavaş əməliyyatdır (və ümumiyyətlə səhifə elementləri ilə iş - bu yavaş əməliyyatdır - bunu xatırlayın).

Bizim vəziyyətimizdə, hər dəfə querySelector-dən istifadə etsək, brauzer hər dəfə HTML səhifəsini emal edəcək və müəyyən edilmiş id-li elementi bir neçə dəfə axtaracaq (id-nin eyni olmasının əhəmiyyəti yoxdur - brauzer bütün hərəkətləri bir neçə dəfə edəcək), brauzerin işini yavaşlada biləcək faydasız əməliyyatlar yerinə yetirəcək.

Əgər biz elem dəyişənindən istifadə etsək - səhifədə heç bir axtarış baş vermir (element artıq tapılıb və ona istinad dəyişəndə saxlanılır).

Aşağıdakı kod verilmişdir:

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

Bu kodun çatışmazlıqlarını göstərin. Onları düzəldin.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et