JS知识点

js 是一个【解析型】语言。js 解析语言的方式

问题 解析的过程是什么?

- 第一个过程:语言分析。分析代码中是否有【语法错误】,如果有则抛出错误

- 第二个过程:预编译:

    - 底层创建对象,Global  [Active Objec]  ==== 变量对象

    - 打开浏览器运行代码前:创建 GO, 提升函数 变量声明提升,作为Go对象下属性

    - 函数执行时;创建AO ,提升形参 提升函数声明,提升变量声明,形参实参相同一


- 第三个过程:解析【执行】

    - 从上往下的执行。对Go 或者 AO 中属性重新赋值过程

    - 函数执行完毕时,AO 销毁。

    - 浏览器关闭时,GO 销毁

    执行上下文栈

执行上写文栈:管理所有的执行上下文对象

**js 的代码执行有什么特点?**

 js 代码的代码执行是一段一段的执行,一段一段的分析执行,在执行一段断码前【准备工作】


 准备工作:变量提升,函数声明提升

***js代码执行是通过什么进行管理的呢?例如:谁创建GO Ao,js引擎具体如何工作呢***

- 执行上下文栈

***这里的【一段】具体值得是什么?可以理解:如何划分“段”***

- 浏览器打开初始化 段:全局

- 函数特别多,当执行一个函数时候;为一个【段】

***到底js引擎遇到什么代码会进行【准备工作】呢***

- 创建执行上下文

- 执行上下文中包含:作用域链 scope ,变量对象(GO AO),this

***js代码执行特点***

1:一段一段执行的,段,有执行上下文栈管理,每段中的执行上下,执行上下文中有,作用域链 scope ,变量对象(GO AO),this。函数执行前创建 函数执行上下文;执行完毕时候执行上下文销毁。

在执行上下文栈 底层一直存在 globalContext ,只有应用程序关闭才销毁

### 执行上下文

#### 分类

- 全局执行上下文

- 局部执行上下文

#### 每个执行上下文包含哪些内容

- 作用域链 scope

- 变量对象

- this

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 闭包 闭包是指有权访问另一个函数作用域中变量的函数,创建闭包的最常见的方式就是在函数内创建函数,通过函数访问...
    抽疯的稻草绳阅读 1,450评论 0 26
  • 考察点 typeof (JS变量类型) ==和 === (强制类型转换)Jquery 源码中 window.onl...
    Kyle_kk阅读 1,675评论 0 3
  • js变量类型和计算 值类型和引用类型 值类型:变量存储的值在栈内存中。常用的值类型有Number, String,...
    Suzzz_s阅读 174评论 0 1
  • 1.事件冒泡与事件捕获 事件冒泡:由最具体的元素(目标元素)向外传播到最不具体的元素事件捕获:由最不确定的元素到目...
    吃肉肉不吃肉肉阅读 213评论 0 1
  • 1、localstorage、sessionstorage、与 cookie 的区别? cookie:一般有服务器...
    予她_阅读 2,822评论 6 73