什么是立即执行函数
立即执行函数,正如它的名字,就是创建函数的同时立即执行。它没有绑定任何事件,也无需等待任何异步操作
正常函数
立即执行函数
function(){…}是一个匿名函数,包围它的一对括号将其转换为一个表达式,紧跟其后的一对括号调用了这个函数。
立即执行函数也可以理解为立即调用一个匿名函数。
立即执行函数最常见的应用场景就是:将var变量的作用域限制于你们函数内,这样可以避免命名冲突
声明函数和匿名函数
无论是构造函数,函数表达式还是函数声明,它们都需要一个函数的名字,这是声明函数;
匿名函数是指一个函数没有名字,并且被立刻调用,立即执行函数就是匿名函数,即使它的可以起名字的,但是这个函数名没有任何意义
立即执行函数的常用写法
用小括号包裹整个函数体,然后在后面再添加一个小括号进行调用
用小括号包含整个函数体,并且包含用以调用的小括号
用+运算符链接函数体
立即执行函数是运算符和函数的结合
无论是小括号又或者是+号都是运算符,将它们与函数进行连接后,就是立即执行函数
-运算符
=运算符
!运算符
,运算符
立即执行函数其实是一个表达式,不会受到函数声明前置的影响
|
|
该函数是在a被赋值为100后才被创建并执行的
立即执行函数的作用
立即执行函数的作用主要是防止变量的污染,在函数自身内部创建一个局部作用域
所有在该函数内部创建的变量都会在执行后被销毁,对外部变量没有影响