线程与进程
进程是计算机独立运行服务的最小单位,例如运行1个node服务和打开一个浏览器标签页。线程是进程的子工作单位。一个进程可以有多个线程。
JS的线程与进程
单个JS运行时是一个进程,有1个主线程,和其他子线程(异步回调和setTimeOut,ajax等) node:实质上是多线程的但是主线程只有一个(所以有人说node是单线程的),还有其他子线程
JS中的堆和栈
JS中最出名的是Chrome浏览器的V8引擎,相当于是只执行JS的虚拟机,JS引擎有两个部分组成:堆内存和栈内存
堆(heap):内存,存放各种变量
栈(stack):运行JS的地方,相当于主线程
常用语法
在浏览器执行时会先走栈的主线程,像onClick,onLoad会加入到队列(queue)中,最后经过eventLoop返回栈中执行 栈的特性表现在销毁阶段,函数执行如果是1{2{3}}的话,那么销毁时就应该是3,2,1 栈的特性:先进先出