js[闭包理解、作用]探究

理解定义

个人的理解:闭包就是能够读取其他函数内部变量的函数。

闭包的好处:

1.保护函数内的变量安全 ,实现块级作用域或私有变量的概念
2.在内存中维持一个变量,可以做缓存

闭包的注意点:

1.闭包会使得函数中的内容一直被保存在内存中,内存消耗大。
2.闭包涉及跨上下文访问,所以会导致性能损失
3.闭包能产生块级作用域、私有变量、私有方法的作用,但也因此容易造成变量方法之间的混淆。

闭包的应用场景

1.延迟函数setTimeout
2.自执行函数进行模块化保存

for(var i;i<arr.length;i++){
    
    
(function(){
    
    
	console.log(i);
})()
}
console.log(i);

3.es6中的块级作用域(使用let/const定义的变量)

猜你喜欢

转载自blog.csdn.net/lxy869718069/article/details/106802023