⊗jsSpOtRO 270 of 294 menu

Pengoptimuman Operasi Berulang dalam JavaScript

Sering kali pengaturcara baru tanpa sedar memanggil fungsi yang sama beberapa kali, menghabiskan sumber.

Mari kita lihat contoh. Katakan kita diberi satu rentetan yang mengandungi beberapa laluan:

let path = 'img.png';

Katakan tugas kita adalah untuk menyemak sama ada laluan tersebut berakhir dengan sambungan .png atau .jpg. Beberapa pengaturcara baru menulis penyelesaian berikut:

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

Apakah masalah dengan penyelesaian ini? Masalahnya ialah kaedah slice dipanggil dua kali, menjalankan perkara yang sama. Ini sudah tentu tidak optimum.

Untuk pengoptimuman, potongan rentetan perlu dilakukan sekali, simpan hasilnya ke dalam pembolehubah, dan kemudian gunakan pembolehubah tersebut seterusnya:

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

Optimumkan kod di bawah:

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

Optimumkan kod di bawah:

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

Optimumkan kod di bawah:

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)
Melayu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan kuki untuk operasi laman web, analisis dan personalisasi. Pemprosesan data dijalankan mengikut Polisi Kerahsiaan.
terima semua tataletak tolak