WXS (WeiXin Script) 是小程序的一套脚本语言,结合 wxml ,可以构建页面的结构。以下是 WXS 中一些需要注意的点:
wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。
wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。
wxs 函数不能作为组件的事件回调。
由于运行环境的差异,在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。
下面是使用 WXS 的简单示例:
页面渲染:<!-- wxml -->
<wxs module = "m1">
var msg = "hello world";
module.exports.message = msg;
</wxs>
<view> {{m1.message}} </view>
页面输出:hello world
数据处理:// page.js
Page({
data: {
array: [1,2,3,4,5,1,2,3,4]
}
})
<!-- wxml -->
<!-- 下面的 getMax 函数 , 接受一个数组 , 且返回数组中最大元素的值 -->
<wxs module = "m1">
var getMax = function(array) {
var max = undefined;
for (var i = 0; i < array.length; ++i) {
max = max === undefined ?
array[i] :
(max >= array[i] ? max : array[i]);
}
return max;
}
module.exports.getMax = getMax;
</wxs>
<!-- 调用 wxs 里面的 getMax 函数 , 参数为 page.js 里面的 array -->
<view> {{m1.getMax(array)}} </view>
页面输出:5