闭包的主要表现有两种 ,一个作为 函数返回值,一个作为 参数。
作为函数返回值
function demo(){
let a = 100
return function(){
console.log(a)
}
}
let a = 200
demo()
作为参数
function fn1(fn){
const a = 100
fn()
}
const a = 200
function fn(){
console.log(a)
}
fn1(fn)
闭包的简单应用
function createCache(){
const data = {} // 用来存储
return {
set : function(key,val){
data[key] = val
},
get : function(key){
return data[key]
}
}
}