立即执行函数的用法
立即执行函数的用法
1、定义
是定义函数以后立即执行该函数
2、写法(2种)
第一种:用小括号把整个函数定义和调用包裹起来
(function() {
// function body
}())
第二种:用括号把函数定义包裹起来,后面加一对小括号
(function( // function body ) {})()
3、立即执行函数的作用
为了防止变量命名冲突(变量污染),我们采用立即执行函数策略。因为立即函数内部会形成一个单独的作用域,我们可以一些封装外部无法读取的(私有变量临时变量或局部变量),外面访问不到这样就可以避免变量污染;
注意:多个立即函数中间必须加分号隔开
(function() { var num = 10; })(); (function() { var num = 10; })();
4、立即执行函数的参数
(function(j) {
// 代码中可以使用j
})(i);
如果立即执行函数中需要全局变量,全局变量会被作为一个参数传递给立即执行函数(上例中的i就是一个全局变量,i代表的是实参,j是i在立即执行函数中的形参)。
5、立即执行函数返回值
像其他函数一样,立即执行函数也可以有返回值。除了可以返回基本类型值以外,立即执行函数也能返回任何类型的值,比如对象,函数。
举例:
//变量result用来接受由立即执行函数返回的函数function() { return a + b;},result()相当于调用函数 var result = (function() { var a = 2; var b = 2; return function() { return a + b; } })(); console.log(result); //返回一个函数 console.log(result()); //4
结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构