数据结构概念
- 栈数据结构 =====> 先进后出
- 堆数据结构 =====> 部分顺序,因为储存方式不一样,知道key就行。
- 队列数据结构 ======> 先进先出
JS 5种基本数据类型: undefined null string number boolan 按值访问
JS 引入类型: Object 按引用地址访问(指针)
JS的执行上下文分为三种
- 全局执行环境
- 局部执行环境
- eval() 执行环境(工作中很少用)
JS 运行原理:
1. 每调用一个函数就会生成一个执行环境(俗称执行上下文),执行上下文环境数量没有限制
2. 栈顶永远是正在执行的函数, 函数执行完, 弹出栈,以此类推,全局环境在最底部,
先进后出的原则。
3. 单线程
4. 同步执行,只有栈顶的上下文处于执行中,其他上下文需要等待
5. 每次某个函数被调用,就会有个新的执行上下文为其创建,即使是调用的自身函数,也是如此。
JS运行的生命周期
1. JS运行时分两个阶段, 编译阶段,以及执行阶段。 编译阶段会进行此法解析,代码检查,以及确定
作用域规则
2. 执行阶段又分为两个阶段, 创建上下文以及运行代码
3. 创建上下文,会创建一个变量对象,用来存储 参数,以及变量,确定this指向,确定作用域链
4. 运行代码阶段,进行赋值等等。