js 闭包 一、什么是闭包1、闭包就是函数能够记住并访问它定义时所在作用域里的变量即使这个函数已经在原作用域之外执行。2、最基础的闭包例子使用闭包可以使函数内的变量长期驻留在内存当变量被执行操作改变值后改变的变量值继续保留在内存进行逻辑操作//闭包案例 function outer() { let count 0 //在outer函数内return一个函数对外层函数的变量outer内的变量进行操作 return function inner() { count return count } } const fn outer() console.log(fn()) // 1 console.log(fn()) // 2 console.log(fn()) // 3 fnnull//手动清空闭包防止内存泄漏 //非闭包函数 function outer() { let count 0 count return count } const fn outer() //打印出的结果全是1因为非闭包普通函数执行完一次后这个函数里面的变量就会释放掉下一次再执行这个函数又重新对里面的变量count赋值为0然后自增1故每次执行函数输出的都是1 console.log(fn()) // 1 console.log(fn()) // 1 console.log(fn()) // 13、闭包怎么使用1在函数里面再嵌套一个函数匿名函数也可以2嵌套的函数必须使用到外层函数的变量3当我们把外层函数给执行了也就代表创建了闭包注意如果嵌套函数没有使用到外层变量那么就不会形成闭包的二、闭包的作用1避免变量全局污染、使数据私有化外部无法修改内部数据、可以让外部可以使用内部的私有数据同时也是函数的作用正常的函数没办法实现数据的驻留因为正常函数会把这些数据给释放掉2闭包核心作用使变量可以驻留在内存不被回收三、闭包缺点1因为数据长时间驻留在内存不被回收处理不当可能造成内存泄漏四、闭包如何防止内存泄漏1使用完了就让闭包等于null2有些内存泄漏是允许存在的可以不用清空

相关新闻

最新新闻

揭秘即墨网站建设哪家好:从避坑指南到实战攻略,手把手教你找到最懂你的设计团队

揭秘即墨网站建设哪家好:从避坑指南到实战攻略,手把手教你找到最懂你的设计团队

最近总有朋友在后台问我:“老板,我想做一个网站,可是即墨这个地方找了好几家,报价千差万别,功能也看不懂,到底即墨网站建设哪家好啊?”这句话,听得我心里既是无奈又是着急。无奈是因为很多老板在选服务商的时候,容易被那些花里胡哨的案例迷了眼,最后要么预算超支,要…

2026/8/14 2:25:35
电力场景输电线缆绝缘导线有皮电线缺陷检测数据集VOC+YOLO格式1998张1类别

电力场景输电线缆绝缘导线有皮电线缺陷检测数据集VOC+YOLO格式1998张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)图片数量(jpg文件个数):1998标注数量(xml文件个数):1998标注数量(txt文件个数):1998标注类别…

2026/8/14 2:25:35
CSS字体修饰实战:从基础到高级应用

CSS字体修饰实战:从基础到高级应用

1. 字体修饰基础概念解析在数字排版和网页设计中,字体修饰是最基础却至关重要的视觉表达手段。就像化妆能突出面部特征一样,恰当的字体修饰能让文字内容层次分明、重点突出。我处理过不少设计案,发现90%的初级设计师最容易忽视的就是字体基础…

2026/8/14 2:25:35
orthanc配置允许其他电脑访问,和UUID的获得

orthanc配置允许其他电脑访问,和UUID的获得

编辑配置文件: 需要开启这2个配置:E:\OrthancServer\Configuration\orthanc.json//#允许远程访问 "RemoteAccessAllowed" : true,//#无需用户验证 "AuthenticationEnabled" : false,增加扩展lua脚本,用于限制开放哪些路径…

2026/8/14 2:25:35
网站建设开发进度表:从零到上线的全流程指南与核心节点把控

网站建设开发进度表:从零到上线的全流程指南与核心节点把控

很多时候,大家在聊起做网站这件事儿的时候,总会陷入一种盲目的焦虑中。要么就是觉得这事儿太简单,找个模板随便点点就能搞定,要么就是觉得太复杂,涉及到代码、设计、服务器,感觉遥不可及。但其实,不管你的网站是简单的企业官网,还是功能复杂的电商平台,它的背后都遵循…

2026/8/14 2:25:35
多模态LLM实战:从CLIP视觉编码到信息融合的Wiki技能构建

多模态LLM实战:从CLIP视觉编码到信息融合的Wiki技能构建

1. 项目概述:当大语言模型“睁开双眼”最近在折腾一个挺有意思的东西,我把它叫做“多模态 LLM Wiki Skill”。简单来说,就是给一个大型语言模型(LLM)——比如我们熟悉的 Claude 或者 GPT——装上“眼睛”和“耳朵”&am…

2026/8/14 2:20:35