⊗jsPmFCPS 273 of 505 menu

Dấu chấm phẩy cho an toàn trong IIFE

Bây giờ hãy để hàm được gọi ngay lập tức của chúng ta không bắt đầu bằng dấu cộng, mà được bao bọc bằng dấu ngoặc tròn, như thế này:

(function() { console.log(1); // sẽ in ra 1 })();

Hãy để biến num được đặt bên ngoài hàm:

let num = 1; // có dấu chấm phẩy (function() { console.log(num); // sẽ in ra 1 })();

Bây giờ hãy để chúng ta quên đặt dấu chấm phẩy:

let num = 1 (function() { console.log(num); //!! sẽ đưa ra lỗi })();

Kết quả là mã này sẽ đưa ra lỗi, vì JavaScript hiểu hàm của chúng ta là phần tiếp theo của lệnh ở dòng đầu tiên.

Để tránh những vấn đề như vậy, trước khi gọi hàm ngay lập tức luôn luôn cần đặt dấu chấm phẩy, như thế này:

let num = 1 ;(function() { console.log(num); // sẽ in ra 1 })();

Có vẻ như vấn đề hơi bịa đặt. Thực tế không phải vậy. Có thể có tình huống là trên trang của bạn có kết nối nhiều tập lệnh từ các tệp riêng biệt. Trong trường hợp đó, ở cuối một tệp có thể thiếu dấu chấm phẩy và điều này tự động dẫn đến sự cố, nếu tệp thứ hai bắt đầu bằng việc gọi hàm ngay lập tức.

Do đó, luôn luôn đặt dấu chấm phẩy trước khi gọi hàm ngay lập tức, ngay cả khi hiện tại bạn chắc chắn rằng sẽ không có vấn đề. Chúng có thể phát sinh sau này.

Hãy áp dụng những điều đã nói ở trên và gọi hàm ngay lập tức, đặt dấu chấm phẩy ở đầu:

;(function() { console.log(1); // sẽ in ra 1 })();

Xác định, không chạy mã, điều gì sẽ được in ra trong bảng điều khiển:

let str = 'str'; (function() { console.log(1); })();

Xác định, không chạy mã, điều gì sẽ được in ra trong bảng điều khiển:

let str = 'str' (function() { console.log(1); })();
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