面试的问题

谈谈闭包

1 我们在函数中创建的局部变量在函数执行结束后会被销毁,但有的时候我们并不希望他被销毁,希望在外部能够对其进行访问或者操作,这个时候就用到了闭包。
2 为什么不用全局变量代替局部变量呢? 因为全局变量是在全局作用域下的,能够被任意的访问或者修改,容易受到污染。而闭包这种形式,只能通过闭包函数访问她。
3 闭包形成的原理是由于作用域链(函数里面又有一个函数),使得当前作用域可以访问上级作用域中的变量
4 闭包的副作用是造成内存的泄露。页面存在期间,垃圾回收无法回收该内存。

posted @ 2022-06-23 20:49  千本嘤嘤嘤  阅读(24)  评论(0)    收藏  举报