说说你对闭包的理解?闭包
答:闭包是可以读取其它函数内部变量的函数。本质上闭包是将函数内部和函数外部链接起来的一座桥梁。因为js的链式做用域,由于函数也是对象,函数内部访问函数外部的变量就相似于子对象一级一级往上找寻全部父对象的变量。内部函数访问外部函数的变量,而且返回这个函数,这就造成了闭合包含的环形了,这就是闭包。闭包有两个特色函数
1.能够读取其它函数内部的属性性能
2.让这些属性的值始终保持在内存中。因此闭包对内存消耗大影响性能,还可能形成内存泄漏,因此能够在函数返回以前把变量都释放,这样就能够解决内存泄漏的问题了。对象
写一个闭包函数:内存
functio f1() {作用域
let a = 2io
function f2(){console
console.log(a) function
}变量
return f2
}
let result = f1()
result() // 2