JS中的闭包

闭包

闭包的概念其实很简单,就是函数A内部有一个函数B,函数B可以访问函数A的变量。也就是说闭包是指有权访问另一个函数作用域中变量的函数,利用闭包可以突破作用域链。

闭包的特性:

1、函数内再嵌套函数

2、内部函数可以引用外层的参数和变量

3、参数和变量不会被垃圾回收机制回收

使用闭包主要是为了设计私有的方法和变量闭包的优点 是可以避免全局变量的污染,缺点是闭包会常驻内存,增大内存使用量,使用不当容易造成内存泄露,再JS中,函数即闭包,只有函数才会产生作用域的概念

使用闭包的好处就是可以读取函数内部的变量,还有就是让变量始终保持在内存中,能够实现封装和缓存。

相关推荐
yqcoder8 分钟前
Express + MongoDB 实现在筛选时间段中用户名的模糊查询
java·前端·javascript
十八朵郁金香29 分钟前
通俗易懂的DOM1级标准介绍
开发语言·前端·javascript
GDAL1 小时前
HTML 中的 Canvas 样式设置全解
javascript
m0_528723812 小时前
HTML中,title和h1标签的区别是什么?
前端·html
Dark_programmer2 小时前
html - - - - - modal弹窗出现时,页面怎么能限制滚动
前端·html
GDAL2 小时前
HTML Canvas clip 深入全面讲解
前端·javascript·canvas
GISer_Jing2 小时前
Javascript排序算法(冒泡排序、快速排序、选择排序、堆排序、插入排序、希尔排序)详解
javascript·算法·排序算法
JustHappy2 小时前
「我们一起做组件库🌻」做个面包屑🥖,Vue的依赖注入实战💉(VersakitUI开发实录)
前端·javascript·github
拉不动的猪2 小时前
刷刷题16
前端·javascript·面试
kiramario2 小时前
【结束】JS如何不通过input的onInputFileChange使用本地mp4文件并播放,nextjs下放入public文件的视频用video标签无法打开
开发语言·javascript·音视频