在使用 React Native 时,我们用到两个不同的js引擎
JS引擎
- 在iOS、Android的模拟器或是真机上,React Native使用的是JavaScriptCore,也就是Safari所使用的JavaScript引擎。但是在iOS上JavaScriptCore并没有使用即时编译技术(JIT),因为在iOS中应用无权拥有可写可执行的内存页(因而无法动态生成代码)。
- 在使用Chrome调试时,所有的JavaScript代码都运行在Chrome中,并且通过WebSocket与原生代码通信。此时的运行环境是V8引擎。
开发实践中,有些代码在debug上好用(使用Chrome调试),但是在release模式中会失效,可能是不同js引擎对代码的执行解析是不一样导致的。
所以在开发中还是需要仔细的规范代码的书写。
本文探讨了ReactNative在iOS和Android平台使用JavaScriptCore作为JS引擎的情况,以及在Chrome调试时使用V8引擎的差异。指出不同引擎可能导致代码行为不一致,强调了开发中代码规范的重要性。
1091

被折叠的 条评论
为什么被折叠?



