闭包有三个特性:
1.函数嵌套函数
2.函数内部可以访问到外部函数及其参数,但外部不能访问内部(其实就是作用域链,内部调用的函数或者参数会向上一级级的查询,直到全局)
3.参数和变量不会被垃圾回收机制回收
好处是:
函数内部的变量不会影响到外部,实现封装,不会造成污染或者重叠参数引起报错。
坏处是:
缓存一直留存不会被回收,影响性能。解决办法是使用完之后主动赋值为 null
let yuzhoudapai = '小S';
function a() {
console.log(`我的名字是:${yuzhoudapai}`);
}
a();