
获得徽章 3
- #沸你不可#
今天分享【闭包】与【即时函数】的应用
● 即时函数,也叫 立即调用函数表达式,是一个在定义时就会立即执行的 JavaScript 函数
● 即时函数 拥有独立的函数作用域,这就意味着外部无法访问 即时函数 作用域中的变量,而 即时函数 作用域中的变量也不会污染全局作用域
● 即时函数可以用来隔离作用域,因为在 ES6 之前没有块级作用域,所以可以使用 即时函数 创建的函数作用域来进行模拟
● 下面是一个例子,使用即使函数生成闭包,以解决下面 setTimeout 异步打印不符合预期的问题
for (var i = 0; i < 5; i++) {
setTimeout(() => console.log(i));
}
for (var i = 0; i < 5; i++) {
((i) => setTimeout(() => console.log(i)))(i);
}
下面还有一篇最近写的关于【闭包】的文章,有兴趣的小伙伴可以看看
队名:前端反卷大队
队员:@前端杨同学 @frllk @人生缺张草稿🌾展开评论1