ใน JavaScript ฟังก์ชันที่ถูกห่อด้วยวงเล็บเรียกว่า "Immediately Invoked Function Expressions" (IIFE) หรือ "Self Executing Functions"
วัตถุประสงค์คือเพื่อสร้าง Namespace และควบคุม Visibility ของ Member Functions มันห่อโค้ดไว้ใน Function Scope ลดการชนกันกับ Library อื่น นี่คือที่มาของชื่อ IIFE หรือ Self Executing Anonymous Function
ไวยากรณ์
(function() {
// code
})();
คู่วงเล็บแรกแปลงโค้ดภายในเป็น Expression คู่วงเล็บที่สองเรียกใช้ฟังก์ชันที่ได้จาก Expression นั้น