当前位置: 首页 > Web前端 > CSS

IIFE立即执行函数

时间:2023-03-30 13:25:03 CSS

functionIife的区别是(。编译器认为它是iife,而不是函数。IIFE的目的是隔离作用域,防止全局命名空间污染,以弥补作用域的缺陷.用于隔离全局作用域块的作用域Levelscopefunctionscope只有function才能实现作用域隔离,所以如果要在一段代码中隔离变量、函数等的定义,只能封装这个codeintoafunction把代码封装成一个函数目的是为了复用,在JS中,当然大部分情况下声明函数的目的也是为了复用,但是JS迫于没有作用域控制的方法,我们经常看到只使用一次的函数:这??个通常是为了隔离作用域!既然只使用一次,那么可以立即执行!IIFE构造单例模式JS的模块就是一个函数,最常见的模块定义是A如下:functionmyModule(){varsomeThing="123";varotherThing=[1,2,3];functiondoSomeThing(){console.log(someThing);}functiondoOtherThing(){console.log(otherThing);}return{doSomeThing:doSomeThing,doOtherThing:doOtherThing}}varfoo=myModule();富。doSomeThing();foo.doOtherThing();varfoo1=myModule();foo1.doSomeThing();如果你需要一个单例模块,你可以使用IIFE:){console.log(otherThing);}return{doSomeThing:doSomeThing,doOtherThing:doOtherThing}})();myModule.doSomeThing();myModule.doOtherThing()