闭包:函数嵌套函数,内部函数就是闭包
正常情况下,函数执行完成,内部变量会销毁(销毁:释放内存空间)
闭包,内部函数没有执行完成,外部函数变量不会被销毁。
function outerFun(){ let a = 10; function innerFun(){ console.log(a); } return innerFun; } let fun = outerFun(); fun()应用:封装一段代码(模块化)
let wang = (function(){ let a = 10; let b = 20; function add (){ return a + b; } function sub (){ return a - b; } return { add, sub } })() let sum = wang.add()