⊗jsSpOtRO 270 of 294 menu

Optimizacija ponavljajočih operacij v JavaScript

Pogosto začetni programerji nepremišljeno kličejo isto funkcijo večkrat in porabljajo vire.

Poglejmo si primer. Naj bo podana niz, ki vsebuje neko pot:

let path = 'img.png';

Naj bo naša naloga preveriti, ali se pot konča s končnico .png ali .jpg. Nekateri začetni programer je napisal naslednjo rešitev:

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

Kaj je narobe s to rešitvijo? Težava je v tem, da se metoda slice pokliče dvakrat, pri čemer naredi isto stvar. To seveda ni optimalno.

Za optimizacijo je treba izrezati niz enkrat, zapisati rezultat v spremenljivko in nato uporabiti to spremenljivko naprej:

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

Optimizirajte spodnjo kodo:

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

Optimizirajte spodnjo kodo:

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

Optimizirajte spodnjo kodo:

let date = new Date(); let res; if (date.getFullYear() >= 2020 && date.getFullYear() <= 2030) { res = 'leto ' + date.getFullYear() + ' se ujema'; } else { res = 'leto ' + date.getFullYear() + ' se ne ujema'; } console.log(res)
Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni