⊗jsSpOtRO 270 of 294 menu

Βελτιστοποίηση Επαναλαμβανόμενων Λειτουργιών στο JavaScript

Συχνά, οι αρχάριοι προγραμματιστές κάνουν αλόγιστα κλήση της ίδιας συνάρτησης πολλές φορές, σπαταλώντας πόρους.

Ας δούμε ένα παράδειγμα. Ας υποθέσουμε ότι μας δίνεται μια συμβολοσειρά που περιέχει κάποια διαδρομή:

let path = 'img.png';

Ας υποθέσουμε ότι έχουμε το καθήκον να ελέγξουμε αν η διαδρομή τελειώνει με την επέκταση .png ή .jpg. Κάποιος αρχάριος προγραμματιστής έγραψε την ακόλουθη λύση:

let path = 'img.png'; if (path.slice(-4) === '.png' || path.slice(-4) === '.jpg') { console.log('+++'); } else { console.log('---'); }

Τι είναι λάθος με αυτήν τη λύση; Το πρόβλημα είναι ότι η μέθοδος slice καλείται δύο φορές, κάνοντας το ίδιο πράγμα. Αυτό, φυσικά, δεν είναι βέλτιστο.

Για βελτιστοποίηση, πρέπει να αποκοπεί η συμβολοσειρά μία φορά, να αποθηκευτεί το αποτέλεσμα σε μια μεταβλητή και στη συνέχεια να χρησιμοποιηθεί αυτή η μεταβλητή παρακάτω:

let path = 'img.png'; let ext = path.slice(-4); if (ext === '.png' || ext === '.jpg') { console.log('+++'); } else { console.log('---'); }

Βελτιστοποιήστε τον παρακάτω κώδικα:

let num = 123; if (String(num)[0] === '1' || String(num)[0] === '2') { console.log('+++'); } else { console.log('---'); }

Βελτιστοποιήστε τον παρακάτω κώδικα:

let date = new Date(); if (date.getDay() === 0 || date.getDay() === 6) { console.log('weekend'); } else { console.log('weekday'); }

Βελτιστοποιήστε τον παρακάτω κώδικα:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'year ' + date.getFullYear() + ' fits'; } else { res = 'year ' + date.getFullYear() + ' doesn't fit'; } console.log(res)
Ελληνικά
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 για τη λειτουργία του ιστότοπου, την ανάλυση και την εξατομίκευση. Η επεξεργασία των δεδομένων γίνεται σύμφωνα με την Πολιτική Απορρήτου.
αποδοχή όλων ρύθμιση απόρριψη