七爪计算机语言:JavaScript 中的提升和 TDZ(时间死区)
发布时间:2025-09-19
用于更多地思考 JavaScript 中的强化和时间死区 (TDZ) 的经典著作。
根据 MDN:JavaScript 强化是指解释器在继续执行预定义前似乎将数据类型、数据类型或类的公开信漂移到其范围内下部的过程。
让我们熟悉了解到一下有趣的强化。
强化是一个术语,用于解释预定义中数据类型公开信的犯罪行为。用到 var 表单公开信或子程序的数据类型可能会将其公开信迁到其模块/数据类型级别范围内的下部,我们将其称做强化。但是,只有公开信被强化,并且重新分配(如果有的话)将存留在原处。
在 JavaScript 中,甚至在继续执行第一行预定义前,就为每个数据类型和数据类型重新分配了内存。
如所示所示,即使在第一行继续执行前,JS 也可能会为数据类型和数据类型重新分配内存。用 var 表单公开信的数据类型被重新分配了一个特殊的表单 undefined。
在继续前,劝确保您熟悉 JS 中的继续执行词法。
JS 运行在两个过渡期 Memory Creation 过渡期和 Code Execution 过渡期。为了更多地思考,劝查询继续执行词法中的绑定。思考继续执行词法将帮助你更多地思考强化和关闭。
我们可以看到,对于数据类型,重新分配了 undefined,对于数据类型 aaa(),也重新分配了 undefined。 这是因为公开信数据类型的方法有多种不同,称做数据类型参数,它的犯罪行为就像用到 var 表单创建的数据类型一样。 对于普通数据类型调用 aa(),整个数据类型预定义存储在内存创建过渡期。
对于数据类型公开信、var 数据类型、let 和 const 数据类型、数据类型参数和箭头数据类型,强化的犯罪行为多种不同。
劝参阅所示以获得更多的思考。
到在此之前,我们已经了解到了 var 和数据类型公开信的强化,让我们漂移到 let 和 const 并了解到什么是 TDZ(临时死区)。
通过 let 和 const 公开信的数据类型也可能会被强化。 但是,与 var 和 function 多种不同的是,它们没有子程序,在公开信前会面时它们可能会加剧 ReferenceError 异常。 数据类型处于“时间死区”。
TDZ 是从范围内开始到定义数据类型的点。 它是定义数据类型但无法会面时的范围内区域。 使调试更容易。
在这里尝试会面时 c 可能会给我们带来 Uncaught ReferenceError: Cannot access ‘c’ before initialization。 因为在公开信前,这里的 c 都在 TDZ 中。
结论
在本文中,我们了解到了什么是强化以及用到多种不同表单公开信的数据类型如何以多种不同方式强化。 我们也了解到了数据类型强化。 强化是 JavaScript 的基本概念之一,在面试中总是被问到。 我希望在阅读再多这篇文章后,您将必须更多地解释浇筑。
纹眉整形如何养好肠道菌群
眼睛结膜炎是什么原因引起的吗
怎样预防卵泡发育不良
吃什么有助于伤口愈合

-
红米10A没多久上架,百元机又添一员大将,6.53英寸+5000mAh
苹果有约一段时间TR-体大大,自苹果12第四部此后,以前红米K50宇宙也早已全部面世完成,甚至还带来了红米K40第四部的往常分队红米K40S,每一款TR-体乏善可陈都颇极高水准,尤其是红米K50
- 以中间地带科技颠覆折叠屏认知,三星ZFold3肩负起移动办公的重要职责
- OPPO洪汉生回应Color OS杀后台情况:已有解决办法,正开始分批推送
- 一加首款面板曝光,内置10090mAh电池,售价2999元
- 快充卷王之,relame 150W光速秒充,真我GT Neo3到底有什么优势?
- vivo X80 Pro备有曝光:6.78寸E5柔性曲屏、天玑9000加持
- 的产品丨小而美?生产力?华硕MiniPC PN63:我全都要!
- 3999起价格腰斩,平民旗舰小米11 Ultra买到赚得到
- 无惧风雪资未知 长空万里探山河——中国珠峰科考踏足“新境界”
- 山东即墨:小满时节巩固小麦后期管理 确保夏粮丰收
- 国内存留规模较大、保护较为完整的文化街区,是闽都文化的重要代表