重庆互联网,19年企业互联网解决经验,专业网站开发、移动端开发、微信端开发、小程序开发!
重庆网络推广公司

微信小程序跨端开发之uniapp开发指南(7)-JS语法说明

作者:重庆互联网小徐 发布时间:2022-12-27 浏览:73192 赞(9212 收藏 评论(0)

uni-app的js API由标准ECMAScript的js API 和 uni 扩展 API 这两部分组成。

标准ECMAScript的js仅是最基础的js。浏览器基于它扩展了window、document、navigator等对象。小程序也基于标准js扩展了各种wx.xx、my.xx、swan.xx的API。node也扩展了fs等模块。

uni-app基于ECMAScript扩展了uni对象,并且API命名与小程序保持兼容。

微信截图_20221227092328.png

#标准js和浏览器js的区别

uni-app的js代码,h5端运行于浏览器中。非h5端(包含小程序和App),Android平台运行在v8引擎中,iOS平台运行在iOS自带的jscore引擎中,都没有运行在浏览器或webview里。

非H5端,虽然不支持window、document、navigator等浏览器的js API,但也支持标准ECMAScript。

请注意不要把浏览器里的js扩展对象等价于标准js。

所以uni-app的非H5端,一样支持标准js,支持if、for等语法,支持字符串、数字、时间、布尔值、数组、自定义对象等变量类型及各种处理方法。仅仅是不支持window、document、navigator等浏览器专用对象。

#ES6 支持

uni-app 在支持绝大部分 ES6 API 的同时,也支持了 ES7 的 await/async。

ES6 API 的支持,详见如下表格部分(x 表示不支持,无特殊说明则表示支持):

  • 因为iOS上不允许三方js引擎,所以iOS上不区分App、小程序、H5,各端均仅依赖iOS版本。

  • 各端Android版本有差异:

    • App端的数据见下表;

    • H5端数据见caniuse;

    • 微信小程序详见

    • 阿里小程序详见

    • 百度小程序详见

    • 字节跳动小程序详见

    • QQ小程序详见

StringiOS8iOS9iOS10Android
codePointAt



normalizexx
仅支持 NFD/NFC
includes



startsWith



endsWith



repeat



String.fromCodePoint



ArrayiOS8iOS9iOS10Android
copyWithin



find



findIndex



fill



entries



keys



valuesx

x
includesx


Array.from



Array.of



NumberiOS8iOS9iOS10Android
isFinite



isNaN



parseInt



parseFloat



isInteger



EPSILON



isSafeInteger



MathiOS8iOS9iOS10Android
trunc



sign



cbrt



clz32



imul



fround



hypot



expm1



log1p



log10



log2



sinh



cosh



tanh



asinh



acosh



atanh



ObjectiOS8iOS9iOS10Android
is



assign



getOwnPropertyDescriptor



keys



getOwnPropertyNames



getOwnPropertySymbols



OtheriOS8iOS9iOS10Android<5
Symbol



Set



Map



Proxyxx
x
Reflect



Promise



注意

  • App端Android支持不依赖Android版本号,即便是Android4.4也是上表数据。因为uni-app的js代码运行在自带的独立jscore中,没有js的浏览器兼容性问题。uni-app的vue页面在Android低端机上只有css浏览器兼容性问题,因为vue页面仍然渲染在webview中,受Android版本影响,太新的css语法在低版本不支持。

  • 默认不需要在微信工具里继续开启es6转换。但如果用了微信的wxml自定义组件(wxcomponents目录下),uni-app编译器并不会处理这些文件中的es6代码,需要去微信工具里开启转换。从HBuilderX调起微信工具时,如果发现工程下有wxcomponents目录会自动配置微信工程打开es6转换。


网友留言评论
我要评论
评论

欢迎广大用户为此页面进行评价,评价成功将获得积分奖励!

  • 赞(0
    踩(0
重庆网站定制建设
  • 重庆网站建设平台
  • 重庆网站优化公司
  • 重庆网络推广公司哪家好
  • 重庆APP制作公司
版权所有 ©2004-2024 重庆市渝中区圣灵科技信息有限公司 渝ICP备16004600号-14 渝公网安备50010802001420号 电子营业执照
重庆公众号制作哪家好
二维码
联系客服 重庆商城网站建设