// 闭包是为了让数据数据私有,无法从外部修改 function fun() { let i = 1 function fun2() { i++ console.log(`i变成了${i}`) } return fun2 } // 闭包存在的原因是因为func对函数fun2()函数的返回值做了存储所以这里要给函数fun()赋值不然调用结果为fun2的函数体 let func = fun() func()