Js立即执行函数的使用场景

Js立即执行函数的使用场景


img

立即执行函数的使用

1
2
3
4
(function(){
}
)();

立即执行函数在定义完后即执行,执行完之后就销毁自身,因此在立即执行函数中声明的变量不会污染全局变量。

使用场景

1
2
3
4
5
6
for(var i=1;i<10;i++){
setTimeout(
function(){
console.log(i);
},100)
}

按正常逻辑来说控制台应该会打印1到9九个数字,但是由于setTimeout是异步方法,只会在同步进程完成后再执行,因此输出的结果为9个10。

1
2
3
4
5
6
7
8
for(var i=1;i<10;i++){
(function(){
setTimeout(
function(){
console.log(i);
},100)
})();
}

使用立即执行函数包含异步方法,使得每一次循环后都会执行一次延时方法,这时控制台就会正常打印10个数字。

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 立即执行函数的使用
  2. 2. 使用场景