我正在阅读关于NativeScript的这个文档,它说明了关于Apple的JavaScriptCore(JSC)虚拟机的以下内容:
它负责JavaScript代码处理。一个很好的比喻 可以用Node.js处理JavaScript和翻译的方式制作 它到底层系统API。我们正在处理每个getter / setter 在JavaScript对象上,并在需要时动态调用iOS API。该 虚拟机在应用程序的进程中加载并运行 主UI线程。 Apple不允许在AppStore Apps中使用JIT 我们的构建中禁用了JIT 。
我对粗体句的好奇心。这是什么意思?如果VM
被禁用,JavaScript如何解释?
由于
答案 0 :(得分:1)
禁用的是import React, { Component } from 'react';
import { Text, View, StyleSheet } from 'react-native';
import { Constants } from 'expo';
export default class App extends Component {
render() {
return (
<View style={styles.container}>
<View style={styles.paragraphs}>
<Text style={styles.textParagraph}>Lorem Ipsum is</Text>
<Text style={styles.emptyTerm} />
<Text style={styles.textParagraph}>dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book</Text>
</View>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
padding: 25,
paddingTop: Constants.statusBarHeight,
backgroundColor: '#ecf0f1',
},
emptyTerm: {
borderBottomWidth: 1,
marginLeft: 5,
marginRight: 5,
minWidth: "25%"
},
paragraphs: {
flexDirection: "row",
flexWrap: "wrap"
},
});
,而不是整个JIT
,VM
只能在较慢的解释模式下执行js代码,因为ios会杀死任何敢于运行动态的第3个进程生成的代码 - 这是JIT的核心。