立即执行函数

Posted zhoujingye

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了立即执行函数相关的知识,希望对你有一定的参考价值。

立即执行函数:

1.声明一个匿名函数

2.马上调用这个匿名函数

(function(){alert("匿名函数")})()

 

作用:

创建一个独立的作用域,这个作用域里的变量不会被外面访问到,避免变量污染

 

经典面试题:

var liList = ul.getElementsByTagName(‘li‘)
for(var i=0; i<6; i++){
  liList[i].onclick = function(){
    alert(i) // 为什么 alert 出来的总是 6,而不是 0、1、2、3、4、5
  }
}

因为用户是在for循环运行结束之后才点击的,i已经为6了

给每个li创立一个独立作用域:
var liList = ul.getElementsByTagName(‘li‘)
for(var i=0; i<6; i++){
  !function(ii){
    liList[ii].onclick = function(){
      alert(ii) // 0、1、2、3、4、5
    }
  }(i)
}

来源:https://zhuanlan.zhihu.com/p/22465092

以上是关于立即执行函数的主要内容,如果未能解决你的问题,请参考以下文章

深入理解javascript中的立即执行函数(function(){…})()

立即执行函数—匿名函数

javascript中的立即执行函数(function(){…})()

javascript立即执行函数表达式(IIFE)

js立即执行函数

php 一个自定义的try..catch包装器代码片段,用于执行模型函数,使其成为一个单行函数调用