Difference between revisions of "Immediately-invoked function expression"

From Wiki @ Karl Jones dot com
Jump to: navigation, search
Line 1: Line 1:
An '''immediately-invoked function expression''' (or '''IIFE''', pronounced "iffy") is a [[JavaScript]] [[design pattern]] which produces a [[Scope (computer science)|lexical scope]] using JavaScript's [[JavaScript function scope|JavaScript's function scoping]].
+
An '''immediately-invoked function expression''' (or '''IIFE''', pronounced "iffy") is a [[JavaScript]] [[design pattern]] which produces a [[Scope (computer science)|lexical scope]] using JavaScript's [[Function scope (computer science)|function scoping]].
  
 
== Description ==
 
== Description ==
Line 13: Line 13:
 
== See also ==
 
== See also ==
  
 +
* [[Function scope (computer science)]]
 
* [[JavaScript]]
 
* [[JavaScript]]
 
* [[Scope (computer science)]]
 
* [[Scope (computer science)]]

Revision as of 08:06, 26 August 2016

An immediately-invoked function expression (or IIFE, pronounced "iffy") is a JavaScript design pattern which produces a lexical scope using JavaScript's function scoping.

Description

Immediately-invoked function expressions can be used to:

  • Avoid variable hoisting from within blocks
  • Protect against polluting the global environment
  • Simultaneously allow public access to methods while retaining privacy for variables defined within the function

This pattern has been referred to as a self-executing anonymous function; Ben Alman introduced "IIFE" as a more semantically accurate term for the pattern, shortly after its discussion arose on comp.lang.javascript.

See also

External links