Câu hỏi

IIFEs (Immediately Invoked Function Expressions) trong Javascript là gì?

Câu trả lời

IIFEs, viết tắt của Immediately Invoked Function Expressions, là một kỹ thuật trong JavaScript để thực thi một hàm ngay lập tức sau khi nó được định nghĩa. IIFEs thường được sử dụng để tạo ra một phạm vi lexical (phạm vi từ vựng) bằng cách sử dụng phạm vi hàm, giúp tránh việc các biến bị nâng lên (hoisting) từ bên trong các khối lệnh, bảo vệ khỏi việc làm bẩn không gian toàn cục (global namespace) và đồng thời cho phép truy cập công khai đến các phương thức trong khi vẫn giữ được tính riêng tư

Cấu trúc cơ bản của một IIFE bao gồm một hàm ẩn danh được bao quanh bởi toán tử nhóm () để ngăn chặn việc truy cập vào các biến bên trong IIFE cũng như ngăn chặn việc làm bẩn không gian toàn cục. Phần thứ hai tạo ra biểu thức hàm được gọi ngay lập tức () thông qua đó trình biên dịch JavaScript sẽ trực tiếp diễn giải hàm

IIFEs có thể được viết theo nhiều cách khác nhau, nhưng một quy ước phổ biến là đặt biểu thức hàm - và tùy chọn toán tử gọi hàm của nó - trong cặp dấu ngoặc đơn, để rõ ràng báo cho trình phân tích cú pháp biết rằng đây là một biểu thức

Ví dụ về một IIFE đơn giản:

(function () {
    // Mã lệnh của bạn ở đây
})();

Hoặc sử dụng biến thể hàm mũi tên (arrow function):

Bạn cần đăng nhập để xem
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Giải thích cách hoạt động của JSONP và tại sao nó không thực sự là Ajax?

Xem chi tiết
middle

Tại sao, việc để nguyên phạm vi toàn cục của một trang web và không can thiệp vào nó lại là một ý tưởng tốt?

Xem chi tiết
middle

Kết quả đoạn code sau là gì? Hãy giải thích tại sao?

Xem chi tiết

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào