面试题系列---【什么是闭包?优点和缺点】

一、什么是闭包

“闭包就是能够读取其他函数内部变量的函数。例如在 javascript 中,只有函数内部的子函数才
能读取局部变量,所以闭包可以理解成“定义在一个函数内部的函数“。在本质上,闭包是将
函数内部和函数外部连接起来的桥梁。”
举例:创建闭包最常见方式,就是在一个函数内部创建另一个函数。下面例子中的 closure 就
是一个闭包,

function func(){
var a =1 ,b = 2;
funciton closure(){ return a+b; } return
closure;

二、优点

1.能够读取函数内部的变量

2.让这些变量一直存在于内存中

三、缺点

1、内存消耗很大

2、一直存在于内存中不用导致内存泄漏

原文地址:https://www.cnblogs.com/chenhaiyun/p/14891180.html