其他分享
首页 > 其他分享> > 闭包是什么,有什么特性,对页面有什么影响

闭包是什么,有什么特性,对页面有什么影响

作者:互联网

闭包

1、闭包可以简单理解成“定义在一个函数内部的函数“。当其中一个内部函数在包含它们
的外部函数之外被调用时,就会形成闭包。

let fn = (function(){
//局部变量
	var count = 0;
	return function(){
	return ++count;
	}})()

2、本质:外层函数嵌套一个内层函数,内层函数作为外层函数的 return 语句的返回
值。外层函数是自调用函数,并且将自身的返回值(也就是内层函数本身)赋给一
个变量。在 JS 执行环境上下文中调用该变量就等价于调用了内层函数,并且在内层
函数中可以访问到外层函数的局部变量又并且外层函数的局部变量不会被多次声
明,此时就形成了一种闭包的写法。
3、特点:
o 函数嵌套函数。
o 函数内部可以引用外部的参数和变量。
o 参数和变量不会被垃圾回收机制回收。
4、用处:
o 常驻内存会增大内存的使用量;
o 读取函数内部的变量;
o 这些变量的值始终保持在内存中,不会在外层函数调用后被自动清除。
5、优点:
o 变量长期驻扎在内存中;
o 避免全局变量的污染;
o 私有成员的存在;
6、缺点:会造成内存泄露

标签:闭包,外层,变量,什么,内层,内存,页面,函数
来源: https://blog.csdn.net/yzkdcsdn/article/details/121294756