https://zhuanlan.zhihu.com/p/41502551
一、JavaScript 引擎:解释和执行 JavaScript 代码的环境(虚拟机)
有三种:
1.JavaScriptCore(Safari)
2.V8(Google)
3.SpiderMonkey (Mozilla)
二、 react native 原理
React Native采用的是JavaScriptCore,在Android上,需要应用自己附带JavaScriptCore,Ios上JavaScriptCore属于系统的一部分,不需要应用附带。
JsCore的提供了两个功能:
在原生代码里面执行 JavaScript,而不用通过浏览器
把原生对象注入到 JavaScript 环境里面去
JsCore提供了 JS 代码与原生代码交互的能力,是一个通信桥梁。
有一点需要注意的是,JSCore 只是实现了标准 JavaScript 语言,所以也自然就没有浏览器对象(BOM),也就是说在 JSCore 里面执行代码,是没有 window, 没有 dom, 没有 XMLHTTPRequest 这些内容的。