前端高频面试题——闭包
程序员文章站
2022-06-10 10:49:53
...
一般来说js外部作用域无法访问函数内的变量:
function family(){
var father = "王健林";
}
console.log(father);//father is not defined
如果我们返回一个函数,就可以通过作用域链访问:
function family(){
var father = "王健林";
var son = "王思聪";
return ()=>son;
}
var getFamily = family()();//'王思聪'
因为引用了函数内部变量故形成了闭包
优点:避免namespace污染
缺点:不能垃圾回收,解决:getFamily设为null
上一篇: 前几天一个妹子加我QQ
下一篇: GDI+双缓冲解决闪烁问题