РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗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štinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј