美文网首页前端总结
JS 中的 Hoisting

JS 中的 Hoisting

作者: TralafalgarV | 来源:发表于2020-11-26 17:33 被阅读0次

拜读Lydia Hallie 的文章有感。遂记录一笔。

当JS引擎获取我们的脚本时,它要做的第一件事就是为代码中的标识符分配内存。 注意此时没有执行任何代码。

  • 函数变量存储的是函数在内存中的引用地址;
  • letconst声明的变量,存储的是<uninitialized>;
  • var声明的变量,存储的是undefined
const、let
var

现在创建阶段已经完成,我们可以执行代码了。在letconst关键字,真正开始声明变量之前的区域,被称为暂时性死区。当我们想要在此区域提前引用对应变量时,会提示ReferenceError

暂时性死区

相关文章

  • JS 中的 Hoisting

    拜读Lydia Hallie [https://dev.to/lydiahallie]的文章有感。遂记录一笔。 当...

  • JavaScript常用基础知识

    hoisting http://openwares.net/js/javascript_declaration_h...

  • 变量提升

    参考信息:https://www.runoob.com/js/js-hoisting.html 对变量提升的解释:...

  • You Don't Know JS: Scope & Closu

    You Don't Know JS: Scope & Closures Chapter 4: Hoisting B...

  • 变量提升

    看下结果: 解释:JavaScript中的变量提升(Hoisting) 实际可以理解为: 涉及到 js的作用域(块...

  • JS——Hoisting(提升)

    Javascript Hoisting的概念 Javascript Hoisting:In javascript,...

  • 纪念js中的那些坑

    0X01 js 中不存在块级作用域 0X02 js中存在一个特性-变量提升(Hoisting),变量的声明都将会被...

  • js变量提升Hoisting

    最终结果为undefined这里有私有作用域的语法,加上变量提升,这段代码相当于: 额外内容提示:函数声明有函数声...

  • js 变量提升(hoisting)

    先了解一下变量的生命周期 变量在它声明时初始化。 局部变量在函数调用时创建,当函数执行完毕后销毁,这和为什么要使用...

  • Scope & Closures

    JS 也是编译型语言,并不是边解释边执行的。 编译的时机是代码即将执行之前。 Hoisting 编译时 JS 会把...

网友评论

    本文标题:JS 中的 Hoisting

    本文链接:https://www.haomeiwen.com/subject/fncziktx.html