- 闭包是什么
「函数」和「函数内部能访问到的变量」(也叫环境)的总和,就是一个闭包。
var fn2=function(){
var a = 1 //局部变量a
function fn(){ //函数fn
console.log(a)
}
return fn
}()
fn2()
fn2()
2、闭包的用途是什么?
隐藏局部变量,暴露操作函数
3、闭包的缺点是什么?
容易内存泄露。(注意,虽然闭包并不会造成内存泄露,真实原因是 JS 引擎的实现有问题,但网上已经以讹传讹了。所以面试时我们依然要答出这一点)