目录
一、WXS
WXS(WeiXin Script)是小程序独有的一套脚本语言,结合WXML,可以构建出页面的结构。
二、WXS的应用场景
wxml中无法调用在页面中的.js中定义的函数,但是,wxml中可以调用wxs中定义的函数,所以,wxs典型的应用场景就是过滤器。
三、WXS和JavaScript的关系
虽然语法类似,但是本质上是完全不同的两种语言
(一)WXS的数据类型
字符串(String)、数字(Number)、布尔值(Boolean)、数组(Array)、对象(Object)、(function)函数、(data)日期、(regexp)正则。
(二)WXS不支持类似于ES6及以上的语法形式
- 不支持:let、展开运算符、箭头函数、对象属性简写、const等等
- 支持:普通function、var定义变量等类似ES5的语法
(三)WXS遵循CommonJS规范
- module对象
- require()函数
- module.exports对象
四、WXS的基础语法
(一)内嵌wxs脚本
wxs代码可以编写在wxml文件中的<wxs>标签内,就像JavaScript代码可以HTML的<script>标签内一样。
wxml文件中的<wxs>标签,必须提供module属性,用来指定当前wxs的模块名称,方便在wxml中访问模块中的成员。
(二)定义外联的wxs脚本
wxs代码可以编写在以.wxs为后缀名的文件内,就像js代码可以编写在.js为后缀的文件中一样。
(三)使用外联的wxs脚本
在wxml中引入外链的wxs脚本时,必须为<wxs>标签添加module和src属性,用module属性来指定模块的名称,src用来指定要硬如脚本的相对路径。
(四)WXS的特点
- WXS与JS不同
- 不能作为组件的事件回调,只能配合mustache语法进行使用
- wxs的运行环境和其他JS代码是隔离的,因为wxs文件不能调用JS中定义的函数,也不能调用小程序提供的API。
- 性能很好,在IOS设备上,小程序内的WXS会比Javascript代码快2-20倍,但在安卓上,二者运行效率无差异。