微信小程序開(kāi)發(fā)工具注意點(diǎn),微信小程序運(yùn)行端
javascript && wxss
微信小程序運(yùn)行在三端:iOS、Android 和 用于調(diào)試的開(kāi)發(fā)者工具。
三端的腳本執(zhí)行環(huán)境聚以及用于渲染非原生組件的環(huán)境是各不相同的:
- 在 iOS 上,小程序的 javascript 代碼是運(yùn)行在 JavaScriptCore 中,是由 WKWebView 來(lái)渲染的,環(huán)境有 iOS8、iOS9、iOS10
- 在 Android 上,小程序的 javascript 代碼是通過(guò) X5 JSCore來(lái)解析,是由 X5 基于 Mobile Chrome 37 內(nèi)核來(lái)渲染的
- 在 開(kāi)發(fā)工具上, 小程序的 javascript 代碼是運(yùn)行在 nwjs 中,是由 Chrome Webview 來(lái)渲染的
盡管三端的環(huán)境是十分相似的,但是還是有些許區(qū)別:
-
ES6
語(yǔ)法支持不一致,語(yǔ)法上開(kāi)發(fā)者可以通過(guò)開(kāi)啟ES6
轉(zhuǎn)ES5
的功能來(lái)規(guī)避。詳情 -
wxss
渲染表現(xiàn)不一致,盡管可以通過(guò)開(kāi)啟樣式補(bǔ)全來(lái)規(guī)避大部分的問(wèn)題 詳情,還是建議開(kāi)發(fā)者需要在 iOS 和 Android 上檢查小程序的真實(shí)表現(xiàn)。
客戶端可信域名校驗(yàn)
開(kāi)發(fā)者使用手機(jī)掃碼調(diào)試的場(chǎng)景下,打開(kāi)調(diào)試模式之后,最新版的客戶端將不檢查可信域名。
代碼文件必須 UTF8 編碼
iOS下僅支持 UTF8 編碼格式,最新版本的開(kāi)發(fā)者工具會(huì)在上傳代碼時(shí)候?qū)Υa文件做一次編碼格式校驗(yàn)。
ES6 APi 支持情況
微信小程序已經(jīng)支持了絕大部分的 ES6 API 具體表格如下:
-
tip
: TBS 3.0 是指微信小程序 Android 運(yùn)行環(huán)境 -
tip
:Array.values
不支持 -
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 |
更多微信小程序開(kāi)發(fā)教程,可以關(guān)注hi小程序。
第二部分:如何開(kāi)通一個(gè)小商店