###闭包可以延长变量的生命周期
function fn1() {
var num = 0
function fn2() {
for (var i = 0; i < 5; i++) {
num++
console.log(num)
}
}
}
fn1()()
###闭包可以提供有限的访问权限
function fn1() {
var name = '帅顶', age = 18
return {
getName: function() {
return name
},
setName: function(value) {
if (!value.includes('丑')) {
name = value
}
},
getAge: function() {
return age
},
setAge: function(value) {
if (value < 20) {
age = value
}
}
}
}
var obj = fn1()
obj.setName('丑顶')
console.log(obj.getName()) // 帅顶