闭包和闭包的应用
作者:互联网
闭包
//闭包:函数嵌套函数,内部函数就是闭包
//正常情况下,函数执行完成,内部变量就会被销毁(释放内存空间)
//闭包:内部函数没有执行完成,外部函数变量不会被销毁
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 来源: https://www.cnblogs.com/GFM0518/p/16584690.html