⊗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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш