📅  最后修改于: 2023-12-03 15:31:22.230000             🧑  作者: Mango
IIFE是Javascript的一种常见的模块化代码组织方式,它可以在定义函数后立即执行该函数。
IIFE的语法形式如下:
(function() {
// 此处为函数体
})();
上述代码定义了一个匿名函数,并使用括号将函数体括起来。最后再使用一对括号调用了这个匿名函数。
我们也可以给这个匿名函数命名:
(function namedFunc() {
// 此处为函数体
})();
这样我们就可以在函数内部通过函数名称来递归自己。
在IIFE中,我们可以定义私有变量和函数,避免了全局变量的污染,同时也可以防止其他代码覆盖我们的变量和函数。
下面是一个IIFE的示例,它返回一个对象,该对象有一个方法用于对输入的数字进行平方计算:
const square = (function () {
const resultObj = {};
function squareNum(num) {
return num * num;
}
resultObj.calculate = function(num) {
return squareNum(num);
}
return resultObj;
})();
console.log(square.calculate(4)); // 16
IIFE是一种灵活的代码组织方式,可以用于避免全局变量的污染,同时也可以防止代码的覆盖。在大型项目中,IIFE可以更好的划分代码块,让代码更加易读易维护。