⊗jsSpOtRO 270 of 294 menu

Tối ưu hóa các thao tác lặp lại trong JavaScript

Thường thì các lập trình viên mới bắt đầu một cách vô ý thức gọi cùng một hàm nhiều lần, làm lãng phí tài nguyên.

Hãy xem xét một ví dụ. Giả sử chúng ta có một chuỗi chứa một đường dẫn nào đó:

let path = 'img.png';

Giả sử chúng ta có nhiệm vụ kiểm tra xem đường dẫn có kết thúc bằng phần mở rộng .png hoặc .jpg hay không. Một số lập trình viên mới bắt đầu đã viết lời giải như sau:

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

Điều gì không ổn với lời giải này? Vấn đề là, phương thức slice được gọi hai lần, thực hiện cùng một việc. Điều này, tất nhiên, là không tối ưu.

Để tối ưu hóa, cần thực hiện việc cắt chuỗi một lần, ghi kết quả vào một biến, sau đó sử dụng biến này sau này:

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

Tối ưu hóa đoạn mã dưới đây:

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

Tối ưu hóa đoạn mã dưới đây:

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

Tối ưu hóa đoạn mã dưới đây:

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)
Tiếng Việt
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbek
Chúng tôi sử dụng cookie để vận hành trang web, phân tích và cá nhân hóa. Việc xử lý dữ liệu được thực hiện tuân theo Chính sách bảo mật.
chấp nhận tất cả tùy chỉnh từ chối