立即执行函数
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(){…})()