⊗jsSpOtDm 277 of 294 menu

Оптимизатсияи коркард бо DOM дар JavaScript

Коркард бо DOM амали камест. Аз ин рӯ, зарур аст, гирифтани унсурҳо, хондан ва навиштан маълумотҳо, хусусан дар ҳалқа, ба ҳадди имкон кам карда шавад.

Биёед мислан назар андозем. Фарз мекунем, ки мо инпут дорем, ки ба он рақам дохил карда мешавад:

<input>

Биёед пас аз гум кардани фокус санҷем, ки рақами воридшуда дар диапазони додашуда ҳаст ё не:

let input = document.querySelector('input'); input.addEventListener('blur', function() { if (+input.value > 0 && +input.value <= 10) { console.log('+++'); } else { console.log('---'); } });

Мушкилӣ дар он аст, ки мо ду бор матнро аз инпут мехонем, гарчанде рақам дар он тағйир намеёбад. Ин, албатта, оптималӣ нест. Оптимизатсия мекунем:

let input = document.querySelector('input'); input.addEventListener('blur', function() { let num = +input.value; if (num > 0 && num <= 10) { console.log('+++'); } else { console.log('---'); } });

Рамзи зерин арзиши воридшударо месанҷад. Оптимизатсияро иҷро кунед:

<input> let input = document.querySelector('input'); input.addEventListener('blur', function() { if (input.value === '1' || input.value === '2') { console.log('+++'); } else { console.log('---'); } });

Рамзи зерин ҷамъи ададҳои бутунро аз якум то рақами воридшуда ба инпут меҷӯяд. Оптимизатсияро иҷро кунед:

<input> let input = document.querySelector('input'); input.addEventListener('blur', function() { let sum = 0; for (let i = 1; i <= +input.value; i++) { sum += i; } console.log(sum); });

Рамзи зерин ҷамъи тақсимкунандаҳои рақами воридшуда ба инпутро меҷӯяд. Оптимизатсияро иҷро кунед:

<input> <div></div> let input = document.querySelector('input'); input.addEventListener('blur', function() { let sum = 0; for (let i = 1; i <= +input.value; i++) { if (input.value % i === 0) { sum += i; let div = document.querySelector('div'); div.textContent = sum; } } });

Рамзи зерин рақамҳоро аз абзацҳо ба квадрат мебарад. Оптимизатсияро иҷро кунед:

<p>1</p> <p>2</p> <p>3</p> <p>4</p> let elems = document.querySelectorAll('p'); for (let elem of elems) { elem.textContent = elem.textContent * elem.textContent; }

Рамзи зерин месанҷад, ки ба инпут сатр дарозии дар диапазони додашуда ворид шудааст. Оптимизатсияро иҷро кунед:

<input data-min="5" data-max="10"> let inp = document.querySelector('input'); inp.addEventListener('blur', function() { if (inp.dataset.min > inp.value.length || inp.dataset.max < inp.value.length) { console.log('+++'); } else { console.log('---'); } });
Тоҷикӣ
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
Мо барои коркарди сомона, таҳлил ва шахсӣ кардан аз cookie истифода мебарем. Коркарди маълумот мувофиқи Сиёсати махфият сурат мегирад.
ҳамаро қабул кардан танзим кардан рад кардан