闭包
- 1、函数嵌套,内部函数就是闭包
- 2、闭包可以作为返回值,内部函数没有执行完成,外部函数内存空间不会被销毁
- 3、内部函数可以访问外部函数的变量
- 4、实现模块化或者封装代码
function outerFun(){
let n = 10
function innerFun (){
console.log(n)
}
return innerFun
}
let fun = outerFun()
fun() //10
闭包的作用:封装------将一个功能放到一个模块中
自己封装一个模块
var a = (function(){}
var n =10
var m = 20
function add(){
console.log(n + m)
}
return add;
)()
var b = (function(){
var n = 1000
var m = 2000
function desc(){
console.log(m - n)
}
return desc
})()