⊗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štinaDanskDeutschEnglishEspañ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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη