前端面试之JS闭包

前端面试之JS闭包

面试回答:
什么是闭包 :闭包就是在函数里定义函数,而且内部函数可以引用外部函数的参数和局部变量,当外部函数返回这个内部函数时,内部函数引用的参数和局部变量保存在内部函数里

为什么要用闭包:因为js的函数作用域的关系,一般情况下外部是访问不了函数内部的变量的,设计闭包结构就可以访问到函数内部的变量,还有就是闭包可以让变量长期保存在内存里,生命周期较长

闭包应用:for循环异步问题,函数防抖及函数节流问题,封装私有变量等等

缺点:如果闭包滥用会造成内存泄露,影响页面性能,每次用完之后要立刻释放资源,把引用指针指向null

猜你喜欢

转载自blog.csdn.net/qq593249106/article/details/83375972
今日推荐