立即执行函数(IIFE)

时间:2021-02-03 10:39:09   收藏:0   阅读:0

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

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

 

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

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

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!