JS是如何被编译的
js的编译技术 => Just In Time Compilation 仅在运行时编译; 简称JIT
C++的编译技术 => Ahead Of Time 在运行前就编译成机器代码
js引擎
chrome(谷歌) => v8
webkit(safari) => JavaScriptCore
Mozilla(火狐) => SpiderMonkey
字节码是跨平台的一种中间表示,不同于最终的机器代码,字节码与平台无关,能够在不同的操作系统上运行.
V8引擎的原理
V8 负责的工作:编译和执行JS代码,处理调用栈,内存的分配,垃圾的回收
栈:先进后出
队列:先进先出
调用栈:调用栈是JS引擎追踪函数执行流程的一种机制,当执行环境中调用了多个函数时,通过这种机制,我们能够追踪到哪个函数正在执行,执行的函数体又调用了哪个函数.