WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。

注意

  • wxs 不依赖于运行时的基础库版本,可以在所有版本的小程序中运行。
  • wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。
  • wxs 的运行环境和其他 javascript 代码是隔离的,wxs 中不能调用其他 javascript 文件中定义的函数,也不能调用小程序提供的API。
  • wxs 函数不能作为组件的事件回调。
  • 由于运行环境的差异,在 iOS 设备上小程序内的 wxs 会比 javascript 代码快 2 ~ 20 倍。在 android 设备上二者运行效率无差异。
    以下是一些使用 WXS 的简单示例:

页面渲染

  1. <!--wxml-->
  2. <wxs module="m1">
  3. var msg = "hello world"; module.exports.message = msg;
  4. </wxs>
  5. <view>{{m1.message}}</view>

页面输出:

  1. hello world

数据处理

  1. // page.js
  2. Page({
  3. data: {
  4. array: [1, 2, 3, 4, 5, 1, 2, 3, 4]
  5. }
  6. })
  1. <!--wxml-->
  2. <!-- 下面的 getMax 函数,接受一个数组,且返回数组中最大的元素的值 -->
  3. <wxs module="m1">
  4. var getMax = function(array) { var max = undefined; for (var i = 0; i <
  5. array.length; ++i) { max = max === undefined ? array[i] : (max >= array[i] ?
  6. max : array[i]); } return max; } module.exports.getMax = getMax;
  7. </wxs>
  8. <!-- 调用 wxs 里面的 getMax 函数,参数为 page.js 里面的 array -->
  9. <view>{{m1.getMax(array)}}</view>

页面输出:

  1. 5

原文:

https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/