问题一:静态编译的原理是什么?
参考答案:
静态编译的原理是通过将源码文件转换为 AST(抽象语法树),并通过操作 AST 的方式来实现将源码转换为目标平台的代码。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/616659
问题二:运行时补偿主要用于解决什么问题?
参考答案:
主要用于处理静态编译无法处理或者处理成本较高的一些运行时动态内容。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/616660
问题三:为什么JSAPI的调用很难通过AST去解析出实际传参?
参考答案:
因为实际业务使用上,不管是JSAPI的名字还是JSAPI的入参都会存在动态赋值的情况,这导致了在JSAPI的真实调用上,很难通过AST去解析出实际传参。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/616664
问题四:自定义组件的Props属性在支付宝和微信平台上有什么差异?
参考答案:
在支付宝平台上,自定义组件的Props属性使用props声明,而在微信平台上,自定义组件的属性使用properties声明。配置方式不同,且在使用时分别通过this.props.x及this.properties.x的方式获取,同时还可能存在动态取值的情况。
关于本问题的更多回答可点击进行查看:
https://developer.aliyun.com/ask/616665
问题五:为什么在微信小程序中静态转义出didUpdate生命周期可靠程度低?
参考答案:
因为在微信小程序中,静态转义出didUpdate生命周期就意味着需要去动态分析出didUpdate里面要用到的所有属性,然后去动态生成出这些属性的监听函数,这个过程复杂且容易出错,所以可靠程度低。而在支付宝小程序中,didUpdate生命周期在触发了props和data更新后都会执行,且能够在didUpdate中访问到prevProps / prevData,这使得运行时补偿在该平台上更为可靠。
关于本问题的更多回答可点击进行查看: