What are Self-Invoking Anonymous Functions in JavaScript?

In JavaScript, the functions wrapped with parenthesis are called “Immediately Invoked Function Expressions" or "Self Executing Functions.

The purpose of wrapping is to the namespace and control the visibility of member functions. It wraps the code inside a function scope and decreases clashing with other libraries. This is what we call Immediately Invoked Function Expression (IIFE) or Self Executing Anonymous Function.


Here’s the syntax −

(function() {
   // code

As you can see above, the following pair of parentheses converts the code inside the parentheses into an expression −


In addition, the next pair, i.e. the second pair of parentheses continues the operation. It calls the function, which resulted from the expression above.