Skip to content Skip to navigation

Connexions

You are here: Home » Content » Immediately-Invoked Function Expression (IIFE)

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

Immediately-Invoked Function Expression (IIFE)

Module by: Hannes Hirzel. E-mail the author

Summary: In this module it is explained what an IIFE (Immediately invoked function expression) is in JavaScript and what it is used for. An application example is given.

Introduction

When reading JavaScript code you often see expressions which look quite arcane:



(function () {
	// variable declarations here
	// JavaScript code (has access to all globals)
}());

Alternatively it could be


(function () {
	// variable declarations here
	// JavaScript code (has access to all globals)
})();
If you take the second variant apart and simplify it you see


(..function expression...)();
It is a definition of an anonymous function which is invoked right after it has been defined.

Application

Initialisation

An immediately invoked anonymous function may be used for initialization code. There are variables needed to set up the environment which afterwards are no longer used and should not clutter the name space.

Comments

The IIFE related to the namespace pattern which is used to avoid defining too many global variables.

Using an immediately invoked function has the same effect as



function myFunc(){
    // do things
}
myFunc();

The only difference is that myFunc is not added to the global name space. This is fine if the function is only used once.

References

Ben Alman explains why Immediately-invoked function expression is a better term than self-executing anonymous function or self-invoked anonymous function which is used as well.

Addy Osmany, Essential JavaScript Namespacing (point 4)

Content actions

Download module as:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks