关于对JavaScript待于完善的一些知识点
Posted 苍暮之星
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于对JavaScript待于完善的一些知识点相关的知识,希望对你有一定的参考价值。
学习javascript也存在一段时间,以下是个人对JavaScript中抽象的知识点记录备案,将有待于后面逐个完善......
1.JavaScript在内存中的体现(内存中栈堆与基本类型及引用类型关系)
基本类型 存放在栈(stack)中简单的数据段,有5种基本类型包括undefined、null、string、number、boolean 按值存放可直接访问
引用类型 存放在堆(heap)内存中的对象,变量实际保存的是一个指针,该指针地址用来指向存储在堆(heap)内存中的对象
这里不再重复造轮子推荐请链接【博客园精华区】js堆栈与拷贝,文章思路清晰易懂
(标注 对JavaScript栈堆的理解直接关系到能不能真正理解js中变量类型(基本类型、引用类型)、作用域、闭包、执行上下文、单线程等相关知识点)
2.JavaScript执行上下文 (代码创建完成阶段、代码执行阶段)
function fn(){ console.log(num); console.log(fn2); var num = 100; function fn2(){} } fn();
3.变量对象(Variable Object简称VO)与 执行上下文(Execution Contexts)关系
如果变量与执行上下文相关,那么它自己应该知道它的数据存储在哪里和如何访问。这种机制被称作 变量对象(variable object).
变量对象 (缩写为VO)就是与执行上下文相关的对象(译者注:这个“对象”的意思就是指某个东西),它存储下列内容:
- 变量 (var, VariableDeclaration);
- 函数声明 (FunctionDeclaration, 缩写为FD);
- 以及函数的形参
4.变量对象(Variable Object简称VO)与 激活对象(AO)关系
5.作用域链ScopeChain与执行上下文有何关系??
以上是关于关于对JavaScript待于完善的一些知识点的主要内容,如果未能解决你的问题,请参考以下文章