闭包 //闭包:函数嵌套函数,内部函数就是闭包 //正常情况下,函数执行完成,内部变量就会被销毁(释放内存空间) //闭包:内部函数没有执行完成,外部函数变量不会被销毁 function outerFun() { let name = 'outer' return function innerFun() { console.log(name) } } let fun = outerFun() fun() //输出outer 闭包的应用 //应用:封装一段代码(封装模块module)减少全局变量 let module = (function () { let a = 10 let b = 20 function add() { console.log(a + b) } function sub() { console.log(a - b) } return { sub, //ES6语法属性命和值一致可以简写 add } })() module.add() module.sub()
标签:闭包,function,函数,module,let,应用,sub From: https://www.cnblogs.com/GFM0518/p/16584690.html