JavaScript引擎相关名词

2019-07-04 13:11:26

JS引擎的一些事

JS引擎

作用域

  • 可以从中访问变量的"区域"

词法作用域

  • 在词法阶段的作用域,换句话说,词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的,因此当词法分析器处理代码时会保持作用域不变

块作用域

  • 由花括号{}创建的范围

作用域链

  • 函数可以上升到它的外部环境(词法上)来搜索一个变量,它可以一直向上查找,直到它到达全局作用域

同步

  • 一次执行一件事, “同步”引擎一次只执行一行,JavaScript是同步的

异步

  • 同时做多个事,JS通过浏览器API模拟异步行为

事件循环(Event Loop)

  • 浏览器API完成函数调用的过程,将回调函数推送到回调队列(callback queue),然后当堆栈为空时,它将回调函数推送到调用堆栈

堆栈

  • 一种数据结构,只能将元素推入并弹出顶部元素。 想想堆叠一个字形的塔楼; 你不能删除中间块,后进先出

  • 变量存储在内存中

调用堆栈

  • 函数调用的队列,它实现了堆栈数据类型,这意味着一次可以运行一个函数。 调用函数将其推入堆栈并从函数返回将其弹出堆栈

执行上下文

  • 当函数放入到调用堆栈时由JS创建的环境

闭包

  • 当在另一个函数内创建一个函数时,它“记住”它在以后调用时创建的环境

垃圾收集

  • 当内存中的变量被自动删除时,因为它不再使用,引擎要处理掉它

变量的提升

  • 当变量内存没有赋值时会被提升到全局的顶部并设置为undefined

this

  • 由JavaScript为每个新的执行上下文自动创建的变量/关键字
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-ND 3.0 许可协议。可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。

扫描下方二维码阅读当前文章

浏览器、微信扫码

评 论:

好文推荐
每天进步一点点~