闭包到底是什么?(简单的 JS 定义)

闭包到底是什么?(简单的 js 定义)

还记得我第一次工作面试吗?面试官让我解释闭包。那简直是一场噩梦,因为我当时不懂那些专业术语。但直觉上,我觉得自己理解了它的含义,即使无法言表。

面试结束后(剧透:我没被录用),我赶紧谷歌搜索闭包相关资料。第一个遇到的术语就是词法作用域——啥玩意儿?

别担心,词法作用域其实很简单!

让我们一步步深入了解。

词法作用域详解

想象一下你的房子。你在卧室里,想开卧室的灯。你只能开你所在房间的灯。这就是词法作用域:你只能访问和修改当前上下文中的内容(比如灯)。

const bedroom = () => {  let bedroomlamp = 'off';  const turnonbedroomlamp = () => {    bedroomlamp = 'on';  };  const turnoffbedroomlamp = () => {    bedroomlamp = 'off';  };};

函数 turnonbedroomlampturnoffbedroomlamp 存在于卧室的上下文中,因此它们可以访问和修改 bedroomlamp 变量。

现在,想象你在厨房,想关卧室的灯。这做不到,因为你在不同的上下文中,厨房无法访问卧室灯变量:

const kitchen = () => {  const turnonbedroomlamp = () => {    bedroomlamp = 'on'; // 你做不到!  };};

是不是很简单?

词法作用域与闭包的关系

让我们更进一步。想象一下,你家有个遥控器,无论你在哪个房间,都能控制卧室的灯。即使你在厨房,这个遥控器也“记得”它控制的是卧室的灯。

这种“记忆”就是闭包!

代码示例如下:

const bedroom = () => {  let bedroomlamp = 'off';  const turnonbedroomlamp = () => {    bedroomlamp = 'on';  };  return turnonbedroomlamp; // 返回函数};const remotecontrol = bedroom(); // 创建闭包remotecontrol(); // 使用闭包打开卧室的灯

在这个例子中:

bedroom 函数创建了一个局部变量 bedroomlamp 和一个函数 turnonbedroomlamp

turnonbedroomlamp 记住它创建的上下文(bedroom 函数)。

当我们调用 remotecontrol(返回的函数)时,它仍然可以访问 bedroomlamp 变量,即使我们现在已经不在 bedroom 函数内部了。

明白了吗?这是一个非常简单的概念,JavaScript 记住了一些东西,让你可以在不同的地方以不同的方式使用它们。

在实际代码中,让我们看看如何在现代应用中使用闭包。下面的代码创建了一个函数,用于在产品价格上添加折扣。

const createDiscount = (discount) => {  return (price) => price - price * discount;};const tenPercentOff = createDiscount(0.1); // 10% 折扣const twentyPercentOff = createDiscount(0.2); // 20% 折扣// 使用折扣函数console.log(tenPercentOff(100)); // 返回 90console.log(twentyPercentOff(200)); // 返回 160

现在你已经了解了闭包,下次面试官问你定义时,你就能轻松应对啦!更多信息请参考参考资料部分。

参考

闭包 – MDN Web DocsJavaScript中的闭包 – GeeksforGeeks

以上就是闭包到底是什么?(简单的 JS 定义)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1500580.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
代码异味 – 非命令式函数名称
上一篇 2025年12月19日 22:41:34
立即吸引用户:在 React SPA 中嵌入交互式演示
下一篇 2025年12月19日 22:41:42

相关推荐

  • 曝苹果折叠iPhone可能采用友商铰链方案 专利限制?

    近日,有数码博主在微博爆料称,苹果计划于明年推出的折叠屏iphone因铰链强度问题,可能被迫采用华为、荣耀或三星等友商的铰链方案。该博主指出,华为、荣耀和三星在铰链领域的专利布局“近乎垄断”,导致苹果难以开发全新设计,甚至面临侵权风险。 折叠iPhone假想图 苹果折叠屏iPhone的研发已持续多年…

    2026年8月29日
    000
  • 谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法

    谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法谷歌浏览器密码管理器怎么使用_谷歌浏览器密码管理器如何使用详细方法

    谷歌浏览器密码管理器可自动保存、填充和管理登录信息。先在设置中开启“提供保存密码”功能,登录网站时即可提示保存;保存后可在“密码管理器”中查看、编辑或删除账号密码,支持跨设备同步与导入其他浏览器密码,建议避免在公共电脑使用并定期清理,配合强密码保障安全。 谷歌浏览器的密码管理器能帮你自动保存、填充和…

    2026年8月29日 用户投稿
    000
  • TGA将迎来首次?外媒称独立游戏今年或问鼎年度

    据外媒videogamer报道,2025年迄今在metacritic上评分最高的四款新作,清一色均为独立游戏——《哈迪斯2》(94)、《光与影:33号远征队》(93)、《空洞骑士:丝之歌》(92)以及《蓝途王子》(92)。这是自2019年以来,首次出现年度评分前四名被独立作品完全包揽的局面。 报道指…

    2026年8月29日
    100
  • IEBE Awards认证全球消费者喜爱的品质品牌:小熊电器的“被爱”逻辑

    IEBE Awards认证全球消费者喜爱的品质品牌:小熊电器的“被爱”逻辑IEBE Awards认证全球消费者喜爱的品质品牌:小熊电器的“被爱”逻辑IEBE Awards认证全球消费者喜爱的品质品牌:小熊电器的“被爱”逻辑IEBE Awards认证全球消费者喜爱的品质品牌:小熊电器的“被爱”逻辑

    当“全球用户喜爱”遇上“生活方式品牌”,小熊电器为何能在全球家庭中赢得永久席位? 6月24日,在广州举行的2025IEBE互联网新商业大奖评选活动中,小熊电器荣膺“全球消费者喜爱的品质品牌”奖项。这不仅是业界对小熊电器产品品质的认可,更是对其深刻洞察并重塑用户生活方式的褒奖——它揭示了一个事实:小熊…

    2026年8月29日 用户投稿
    100
  • 芯原推出低功耗AI降噪与AI超分辨率系列IP

    ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 芯原股份推出全新AI图像处理IP系列,赋能高清影像时代 2025年2月27日,上海——芯原股份(芯原,股票代码:688521.SH)今日宣布推出其最新一代AI图像处理IP系列,包括智能降噪IP …

    2026年8月29日
    000
  • 铁路12306APP如何通过申请办理团体票_团体票申请流程与注意事项

    学生和务工人员可通过12306 APP在开车前第17天预约团体票,每单最多9人,系统于第16天配票并需当日23:00前支付;旅行社须先完成资质审核,通过旅团网站提交需求,在规定时间内确认支付并最晚于开车前5天录入旅客实名信息,所有流程均需严格遵守时间节点,否则订单失效。 铁路12306 APP目前不…

    2026年8月29日
    100
  • 美团王兴,中国具身智能第一投资人

    美团王兴,中国具身智能第一投资人美团王兴,中国具身智能第一投资人美团王兴,中国具身智能第一投资人美团王兴,中国具身智能第一投资人

    你可能没留意到,如火如荼的具身智能融资大潮里,棋局热闹,棋子如云,而低调又凶猛的棋手,却不显山不露水。 美团王兴,就是这场激战里真正的(骑手)棋手。 尽管 7 月只过去了 11 天,美团已经接连出手了 2 家具身智能公司:它石智航 & 星海图。 其中包含对星海图连续领投 2 次,又猛又狠 —…

    2026年8月29日 用户投稿
    000
  • 谷歌浏览器下载管理界面无法打开怎么办

    谷歌浏览器下载管理界面无法打开怎么办谷歌浏览器下载管理界面无法打开怎么办谷歌浏览器下载管理界面无法打开怎么办谷歌浏览器下载管理界面无法打开怎么办

    谷歌浏览器下载管理打不开通常由设置、缓存或扩展冲突引起;2. 可通过快捷键Ctrl+J或菜单路径检查入口;3. 清除缓存、重置设置可解决缓存损坏问题;4. 禁用广告拦截等扩展排查冲突,无痕模式测试可辅助判断;5. 更新或重装浏览器解决版本过旧或文件损坏问题。 谷歌浏览器下载管理界面打不开,通常和浏览…

    2026年8月29日 用户投稿
    000
  • 流畅阅读— 开源AI浏览器翻译插件,支持双语对照显示

    流畅阅读— 开源AI浏览器翻译插件,支持双语对照显示流畅阅读— 开源AI浏览器翻译插件,支持双语对照显示流畅阅读— 开源AI浏览器翻译插件,支持双语对照显示流畅阅读— 开源AI浏览器翻译插件,支持双语对照显示

    fluentread:你的浏览器翻译利器,助你畅享无障碍阅读体验! FluentRead是一款开源浏览器翻译插件,它利用先进的AI技术,旨在为你提供如同母语般流畅的阅读体验。支持多种翻译引擎,包括传统的机器翻译和强大的AI大模型,并且允许你自定义翻译服务。其核心功能包含智能翻译、便捷的双语对照显示以…

    2026年8月29日 用户投稿
    100
  • 《中国足球环境及未来发展白皮书(2025)》发布:100吋大屏电视成标配

    2025年,世俱杯的激情与“苏超”的热潮遥相呼应,掀起了一场全球范围内的足球盛宴。这份源自赛场内外的热情,不仅展现了足球运动的巨大魅力,也正逐步汇聚成推动中国足球环境改善的重要力量。 7月10日,由经济观察研究院发布的《中国足球环境及未来发展白皮书(2025)》(以下简称《白皮书》)引发广泛关注。该…

    2026年8月29日
    000
  • 首款搭载海光4号处理器笔记本,联想开天X7定义信创PC旗舰性能

    北京,2025年7月10日——在今日举行的海光新一代pc处理器发布会上,联想开天作为核心战略合作伙伴,同步发布了一款面向国产信创领域的重磅新品——联想开天x7高性能信创旗舰笔记本。该产品不仅是全球首款配备海光4号处理器的笔记本电脑,更首次在国产笔记本中引入独立npu芯片,标志着国产“信创aipc”迈…

    2026年8月29日
    100
  • SigLIP 2— 谷歌 DeepMind 推出的多语言视觉语言编码器模型

    siglip 2:谷歌deepmind的先进多语言视觉语言模型 SigLIP 2是Google DeepMind推出的先进多语言视觉-语言模型,它对SigLIP进行了改进,显著提升了图像与文本的对齐能力。通过优化的架构和训练方法,SigLIP 2在多语言理解、零样本分类和图像-文本检索等任务上表现出…

    2026年8月29日
    000
  • 完美世界入选“2025高品质消费品牌TOP100”榜单

    7月10日,南方都市报联合广东连锁经营协会发布“2025高品质消费品牌top100”榜单,完美世界股份有限公司成功入选,并荣获“年度十大消费科技创新品牌”奖项,彰显其在高品质兴趣消费领域的引领地位。 在数字经济时代,数字内容产品已成为大众文化精神生活的重要组成部分。以数字游戏、电子竞技、影视作品为代…

    2026年8月29日
    000
  • TGS2025《如龙极3/如龙3 外传》制作人采访 外传剧情有参考OL

    TGS2025《如龙极3/如龙3 外传》制作人采访 外传剧情有参考OLTGS2025《如龙极3/如龙3 外传》制作人采访 外传剧情有参考OLTGS2025《如龙极3/如龙3 外传》制作人采访 外传剧情有参考OLTGS2025《如龙极3/如龙3 外传》制作人采访 外传剧情有参考OL

    在tgs2025前夕,世嘉如龙工作室举办发布会发表了“极”系列的第三部作品《如龙极3》,而这次最特别是在游戏内还同捆了以反派峰义孝为主角的《如龙3 外传》。这款游戏也在tgs现场提供了最速试玩,此前我们也给大家带来了实机试玩视频。 https://www.bilibili.com/video/BV1…

    2026年8月29日 用户投稿
    000
  • CRM无法使用谷歌地图原因_问题诊断与解决策略

    首先检查谷歌地图API密钥配置是否正确,确认权限设置是否允许访问相关服务,若无误则排查CRM系统兼容性问题并尝试更新或联系技术支持。 CRM无法使用谷歌地图,通常是因为API密钥配置错误、权限问题、或者CRM系统与谷歌地图API之间的兼容性问题。解决办法包括检查API密钥、确认权限设置、更新CRM系…

    2026年8月29日
    100
  • NEOWIZ 参加 “核聚变游戏嘉年华2025” 用独立游戏吸引中国粉丝

    neowiz quest 与开拓芯达成全球战略联盟 ● 设立“Neowiz Quest”独立游戏展区,三款作品试玩亮相中国 ● 鹰角网络旗下扶持品牌“开拓芯”正式成为 Neowiz Quest 官方合作方 韩国知名游戏厂商NEOWIZ(联席CEO:金承哲、裴泰根)于20日宣布,将参与在中国举办的线下…

    2026年8月29日
    000
  • 铁路12306团体票怎么购买_铁路12306团体票购买方法

    用工规模≥30人的企业或5人以上自组团可申请春运团体票,需通过eticket.gzrailway.com.cn登记并提交订票计划,经审核后在12306 App预约购票,为本人及最多8名旅客提交需求,开车前17天23时前申报,开车前16天支付票款,深圳地区需到深圳火车站长途售票厅办理核验与取票,票面标…

    2026年8月29日
    200
  • 游戏行业或将引入更多植入性广告 要赚更多钱!

    随着游戏的流行度持续上升,xbox和playstation等主流游戏平台却在盈利方面面临挑战。有行业观察人士指出,未来游戏行业的收入增长或许将依赖于游戏内广告的发展。 近日,知名爆料人杰兹・科登(Jez Corden)在其参与的播客节目中提到,近年来在PlayStation、Xbox以及任天堂主机平…

    2026年8月29日
    100
  • 微软 Xbox 用 AI 制作招聘广告现低级错误:代码出现在显示器背面

    7 月 15 日消息,在全面推动人工智能(ai)战略的进程中,微软再次因一则由 ai 制作的招聘广告引发公众争议。近日,微软 xbox 图形团队在 linkedin 上发布了一则招聘信息,本意是招募图形驱动开发与游戏视觉优化方面的工程师,但其中出现的一个低级错误——“电脑屏幕倒装”,却招致了外界广泛…

    2026年8月29日
    000
  • 并非类魂!梁其伟谈论《影之刃零》究竟是什么

    作为继《黑神话:悟空》之后“村里的第二位游戏新星”,《影之刃零》一直受到广泛关注。近年来,类魂游戏热度持续上升,不少玩家猜测《影之刃零》也会归属于这一类型。然而,制作人梁其伟在6月23日发表文章明确否认了这一说法,并详细阐述了《影之刃零》的真实定位。 梁其伟在文中表示:“《影之刃零》既不属于魂系游戏…

    2026年8月29日
    600

发表回复

登录后才能评论
关注微信