Trong JavaScript, các hàm được bọc trong cặp ngoặc đơn được gọi là IIFE (Immediately Invoked Function Expressions) hoặc Self-Executing Functions.
Mục đích của việc bọc này là tạo ra không gian tên (namespace) và kiểm soát khả năng nhìn thấy của các hàm thành viên. Nó bọc code trong một phạm vi hàm (function scope) và giảm thiểu xung đột với các thư viện khác.
Cú pháp
(function() {
// code
})();
Cặp ngoặc đơn đầu tiên chuyển code bên trong thành một biểu thức (expression):
function(){...}
Cặp ngoặc đơn thứ hai thực hiện việc gọi hàm kết quả từ biểu thức trên.