《WebKit技术内幕》JavaScripty引擎-读书笔记
9.1.1 JavaScript语言

JavascriptCore引擎和V8引擎已经优化了效率,推动Javascript运行速度提高的另一大利器JIT(Just-In-Time)。

JavaScript作用域链和闭包

如果“add”函数上下文没有包含该变量,那么执行环境会不停向上查找,知道找遍全局上下文为止。

9.1.2 JavaScript引擎
先看C/C++语言

然后看 Python等脚本语言

然后看Java

最后回到JavaScript

9.1.3 JavaScript引擎和渲染引擎

9.1.4 V8引擎-代码结构

9.2.2.2 V8工作过程

工作过程:优点很明显,缺点有二。


9.2.2.3 优化回滚(Deoptimization)

9.2.2.4 隐藏类和内嵌缓存

9.2.2.5 V8-内存管理
一系列小内存的划分,Zone类,一次申请,同时释放 堆,同很多虚拟机一样,V8将堆分成三个部分,第一部分是年轻分代,第二个是年老分代,第三个是大对象

9.3 JavaScriptCore引擎
JavaScriptCore和V8引擎不同的是,JavaScriptCore引擎不是从抽象语法树生成本地代码,而是生成平台无关的字节码。


9.4.1 实践-高效的JavaScript代码-编程方式

9.4.2 实践-高效的JavaScript代码-例子


setTimeout和setInterval的不足

requestAnimationFrame如何解决不足之处的

