立即执行函数(IIFE)

目的:自动执行,执行完之后立即释放;

立即执行函数 --> 初始化函数

可以起到隔离变量的作用

 

写法(两种写法,效果一样):

1.(function() {
    
})();
2.(function() {
    
}()) 

 

传参:

(function(a,b) {
    console.log(a); // 1
    console.log(b); // 2
})(1,2);

 

返回值:

var num=(function (a, b) {
    return a+b;
})(1, 2);
console.log(num); // 3

 

思考:

复制代码
(function () {
    console.log(1); // 1
})();
var x1=function() {
    console.log(2); // 2
}();

function x2() {
    console.log(3); // 报错
} ();
复制代码

一定是表达式才能被执行执行符号执行

 

复制代码
var test = function () {
    console.log(1);
}
console.log(test);
// f(){...}
var test1 = function () {
    console.log(1);
}();
console.log(test1);
// 1
// undefined 立即执行后被销毁
var test2 = function () {
    return 2
}();
console.log(test2);
// 2 除非返回值,不然一般都是undefined(函数都是被销毁了)
复制代码

 

函数声明转换成函数表达式!+ - || &&;

+function test () {
    console.log(1);
}();
// 1

 

封装插件的时候(把;写在前面):

;(function() {
    
})()

 

posted on   sss大辉  阅读(230)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示