IIFE 是立即调用的函数表达式(Immediately Invoked Function Expression)的缩写,是一种 JavaScript 设计模式,用于创建一个函数作用域,并立即执行其中的代码。IIFE 可以避免全局变量的污染,同时也可以用于创建私有变量和函数。
IIFE 的语法形式如下:(function() {其中,用括号将函数声明包裹起来,然后在末尾加上一对括号来立即调用该函数。由于函数声明被包裹在括号中,因此这个函数会被当作一个表达式来解析,而不是一个独立的函数声明。因此,这个函数不会被全局作用域捕获,也不会污染全局命名空间。
// 函数体
})();
IIFE 可以传递参数,也可以返回值。例如,下面的示例定义了一个 IIFE,用于计算两个数的和:
var sum = (function(a, b) {
return a + b;
})(10, 20);
console.log(sum); // 输出 30
在这个示例中,使用 IIFE 计算了两个数的和,并将结果赋值给变量 sum。由于这个 IIFE 是立即调用的,因此它的返回值会被立即赋值给 sum,而不需要将结果存储在全局变量中。
网友回复
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?
js在浏览器中如何使用MediaStream与MediaRecorder实现声音音频多轨道混流?