微信小程序教程
8.10 运行环境差异
阅读(

微信小程序介绍

微信小程序设计指南

微信小程序开发简介

微信小程序开发框架

微信小程序框架视图层

微信小程序框架组件

微信小程序框架 API

微信开发者工具

概述

界面

快捷键

代码编辑

小程序调试

调试方式

小程序开发助手

第三方平台

云测试

运行环境差异

微信小程序运行在三端:iOS、Android 和 用于调试的开发者工具。

三端的脚本执行环境以及用于渲染非原生组件的环境是各不相同的:

  • 在 iOS 上,小程序的 javascript 代码是运行在 JavaScriptCore 中,是由 WKWebView 来渲染的,环境有 iOS8、iOS9、iOS10
  • 在 Android 上,小程序的 javascript 代码是通过 X5 JSCore来解析,是由X5基于 Mobile Chrome 53/57 内核来渲染的
  • 在 开发工具上, 小程序的 javascript 代码是运行在 nwjs 中,是由 Chrome Webview 来渲染的

尽管三端的环境是十分相似的,但是还是有些许区别:

  • ES6语法支持不一致 语法上开发者可以通过开启ES6ES5的功能来规避。详情
  • wxss渲染表现不一致 尽管可以通过开启样式补全来规避大部分的问题详情,还是建议开发者需要在 iOS 和 Android 上分别检查小程序的真实表现。

微信小程序已经支持了绝大部分的 ES6 API,具体表格如下:

  1. tip: TBS 3.0 是指微信小程序 Android 运行环境
  2. tip:Array.values不支持
  3. tip:Proxy不支持
String iOS8 iOS9 iOS10 TBS3.0
codePointAt
normalize
includes
startsWith
endsWith
repeat
String.fromCodePoint
Array iOS8 iOS9 iOS10 TBS3.0
copyWithin
find
findIndex
fill
entries
keys
values
includes
Array.from
Array.of
Number iOS8 iOS9 iOS10 TBS3.0
isFinite
isNaN
parseInt
parseFloat
isInteger
EPSILON
isSafeInteger
Math iOS8 iOS9 iOS10 TBS3.0
trunc
sign
cbrt
clz32
imul
fround
hypot
expm1
log1p
log10
log2
sinh
cosh
tanh
asinh
acosh
atanh
Object iOS8 iOS9 iOS10 TBS3.0
is
assign
getOwnPropertyDescriptor
keys
getOwnPropertyNames
getOwnPropertySymbols
Other iOS8 iOS9 iOS10 TBS3.0
Symbol
Set
Map
Proxy
Reflect
Promise

由于运行环境的差异,下列 API 在开发者工具的实现与客户端不一致,请使用真机调试

API 说明
wx.checkIsSupportSoterAuthentication 设备不支持
wx.startSoterAuthentication 设备不支持
wx.chooseInvoiceTitle 模拟数据返回
wx.addPhoneContact 设备不支持
wx.onUserCaptureScreen 设备不支持
wx.startBeaconDiscovery 设备不支持
wx.stopBeaconDiscovery 设备不支持
wx.getBeacons 设备不支持
wx.onBeaconUpdate 设备不支持
wx.onBeaconServiceChange 设备不支持
wx.makePhoneCall 弹窗提示接口调用成功
wx.onCompassChange 设备不支持
wx.chooseAddress 模拟数据返回

如果本教程对您帮助很大,请随意打赏。您的支持,将鼓励我们提供更好的教程!

← 键盘方向键翻页 →
返回顶部 手机访问 关注微信 返回底部

扫码访问歪脖网

随时随地,想看就看

关注歪脖网微信

分享 web 知识、交流 web 经验