小程序的 JS 执行环境 在不同平台上的执行环境存在差异

admin 9个月前 (02-27) 阅读数 76 #体育资讯

  基于安全考虑,小程序中不支持动态执行 JS 代码,即: 不支持使用 执行 JS 代码 不支持使用 创建函数

除外

  小程序的 JS 执行环境 在不同平台上的执行环境存在差异,因此导致不同平台对 ECMAScript 标准的支持存在差异。

  小程序基础库为了尽量抹平这些差异,内置了一份 Polyfill。 可以将平台环境缺失的标准 API 补齐。

  需要注意的是,平台对 ECMAScript 语法的支持差异无法抹平,当你需要使用一些高级语法时,如 时,则需要借助 代码转换工具 来支持这些语法。

  以下 API 在部分低版本客户端中无法使用,请注意尽量避免使用 对象

  由于实现原因与 iOS JavaScriptCore 限制,iOS 环境下的 是一个使用 模拟的 Polyfill。这意味着 触发的任务为普通任务,而非微任务,进而导致 在 iOS 下的 时序会和标准存在差异。

  关于普通任务和微任务的区别可以查看这篇文章

  特定的小程序基础库版本有最低微信客户端版本要求,如基础库 v2.15.0 要求安卓最低版本 7.0.22,iOS 最低版本 7.0.20。

  而特定的客户端版本有最低操作系统版本要求,如 iOS 7.0.20 要求最低 iOS 10。

  从而,当指定特定小程序基础库版本时(可以在 小程序管理页 【设置】-【基本设置】-【基础库最低版本设置】中设置),我们能够得到最低需要支持的执行环境。

  具体数据可以从 这个开源库 中获得。

小程序的 JS 执行环境 在不同平台上的执行环境存在差异

小程序的 JS 执行环境 在不同平台上的执行环境存在差异

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门