JavaScript浅析IIFE的作用

Posted David Wu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript浅析IIFE的作用相关的知识,希望对你有一定的参考价值。

什么是IIFE

IIFE就是立即执行函数表达式(Immediately-Invoked Function Expression)

为什么需要IIFE

应用IIFE有两个比较经典的使用场景,

第一就是在循环中定时输出数据项,

for(var i=0;i<5;i++){
setTimeout(function(){
console.log(i);
},1000);
}

上面输出的并不是0,1,2,3,4而是5,5,5,5,5

for(var i=0;i<5;i++){
(function(i){
setTimeout(function(){
console.log(i);
},1000);
})(i)
}

这输出的才是0,1,2,3,4

第二是类似于jQuery/Node的插件和模块开发

(function($){
//代码
})(jQuery)

以上是关于JavaScript浅析IIFE的作用的主要内容,如果未能解决你的问题,请参考以下文章

理解JavaScript的立即调用函数表达式(IIFE)

项目之间的 Javascript IIFE 代码共享

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

JavaScript中constvar和let区别浅析

IIFE的形式原理和常见写法

Javascript代码片段在drupal中不起作用