Trong JavaScript, các hàm được bao bọc bởi dấu ngoặc đơn gọi là "Immediately Invoked Function Expressions" (IIFE) hoặc "Self Executing Functions".
Mục đích của việc bao bọc: tạo namespace và kiểm soát khả năng thấy (visibility) của các hàm thành viên. Nó gói code trong một function scope, giảm va chạm với 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.