⑨ 小程序运行时

1 运行环境

平台 逻辑层 渲染层
iOS JavaScriptCode WKWebView
Android V8 Mobile Chrome
开发工具 NW.js Chromiun WebView
PC Chrome Chrome
MAC JavaScriptCode WKWebView

1.1 平台差异

  • js 语法和 API 支持不一致

    • es6 转 es5

    • 小程序基础库内置了必要的 polyfill 来弥补 API 差异

  • wxss渲染表现不一致

    • 样式补全

2 js支持情况

2.1 运行限制

不支持动态执行 js 代码

new Function('return this') 除外

2.2 标准 ECMAScript 支持

2.3 无法被 polyfill 的 API

  • Proxy 对象

2.4 Promise 时序差异

  • iOS 环境下的 Promise一个使用 setTimeout 模拟的 polyfill -> 宏任务而非微任务 -> 在 iOS 下的 Promise 时序会和标准存在差异

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...