JavaScript立即执行函数

立即执行函数(Immediate Functions)

这种模式有一些几部分组成:
  • 使用函数表达式定义一个函数(函数声明不能起作用)
  • 在结尾加上一对括号,让函数立即被执行
  • 将整个函数包裹在一对括号中(只有在你不将函数赋值给一个变量的时候才需要)

eg:

(function() {

        console.log("my first iife");

    })();

  

这里需要弄清楚一个概念 函数表达式和函数声明

函数表达式  Function Expression - var expression= function() {}; 

函数申明     Function Declaration - function test() {};

这样就好理解基本概念了吧!

下面来说为什么会考虑到立刻执行函数

因为在.net或者其他平台下,作用域scope是按照块来划分的,但是在javascript中,变量的作用域是按照函数划分的,可以这样理解js中有时候并没有block scope这种概念,只有function才有自己的scope,因此IIFE实际创建了一个封闭的scope,可以限制对变量和方法的访问,有时候也会避免全局变量引起的命名冲突,所以他出现了.

 

你可能感兴趣的:(JavaScript)