Skip to content

qinjs 的 js API 由标准 ECMAScript 的 js API 和 qin 扩展 API 这两部分组成。

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

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

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

qinjs 的 js 代码, H5 端运行于浏览器中。小程序自带的 jscore 引擎中,都没有运行在浏览器或 webview 里。

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

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

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

ES6 支持 ​

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

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

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

  • 各端Android版本有差异:

注意

  • 默认不需要在微信工具里继续开启 es6 转换。但如果用了微信的wxml自定义组件( wxcomponents 目录下), qinjs 编译器并不会处理这些文件中的es6代码,需要去微信工具里开启转换。