Họ đã có một thuật ngữ cho điều đó trong thế giới Javascript. Chúng được gọi là Biểu thức hàm được gọi ngay lập tức (IIFE) .
Nó là gì
Các chức năng IIFE không được đặt tên. Thay vào đó, chúng được thực thi một lần khi trình thông dịch đi qua chúng:
var area = function() {
var width = 3;
var height = 2;
return width * height;
}();
Các dấu ngoặc đơn cuối cùng sau dấu ngoặc nhọn đóng của khối mã báo cho trình thông dịch gọi biểu thức hàm ngay lập tức.
Nếu bạn viết một khai báo hàm, bạn phải thêm các toán tử nhóm hoặc dấu ngoặc đơn xung quanh hàm, để báo cho trình thông dịch xử lý hàm như một biểu thức có thể được gọi ngay lập tức:
var area;
(function() {
var width = 3;
var height = 2;
area = width * height;
}());
Khi chúng được sử dụng
IIFE được sử dụng cho mã chỉ cần chạy một lần trong một tác vụ, thay vì được gọi nhiều lần.
- Là một đối số khi một hàm được gọi (để tính giá trị, v.v.)
- Để gán giá trị của một tài sản cho một đối tượng.
- Trong xử lý sự kiện và người nghe.
- Để ngăn xung đột giữa hai tập lệnh có thể sử dụng cùng tên biến. Chúng có thể được sử dụng làm trình bao bọc để thả mã trong một tập lệnh khác mà bạn không chắc chắn nếu tên biến có thể giống nhau hay không.