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

一、什么是闭包

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

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

二、优点

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

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

三、缺点

1、内存消耗很大

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

posted on 2021-06-16 21:32  码农小小海  阅读(540)  评论(0编辑  收藏  举报

导航