1.什么是 wxs
wxs(WeiXin Script)是小程序独有的一套脚本语言,结合WXML,可以构建出页面的结构
2.wxs 的应用场景
wxml中无法调用页面的.js中定义的函数,但是,wxml中可以调用wxs中定义的函数,因此,小程序中的wxs的典型应用场景就是“过滤器”。
3.wxs 和 JavaScript 的关系
虽然 wxs 的语法类似于 JavaScript,但是 wxs 和 JavaScript 是完全不同的两种语言:
(1)wxs 有自己的数据类型
number、string、boolean、object、function、array、date、regexp
(2)wxs 不支持类似于 ES6 及以上的语法形式
不支持:let、const、解构赋值、展开运算符、箭头函数、对象属性简写、etc...
支持:var 定义变量、普通 function 函数等类似于 ES5 的语法
(3)wxs 遵循 CommonJS 规范
module对象
require()函数
module.exports对象
4.内嵌wxs脚本
<view>{{ m1.toUpper(username) }}</view>
<wxs module="m1">
module.exports.toUpper = function (str) {
return str.toUpperCase()
}
</wxs>
5.外联wxs
// tools.wxs 文件
function toLower(str) {
return str.toLowerCase()
}
module.exports = {
toLower: toLower
}
<view>
{{ m2.toLower(people) }}
</view>
// src是相对路径 module模块名称
<wxs src="../../utils/tools.wxs" module="m2" />
6.wxs的特点
(1)本质上,wxs和JavaScript是两种不同的语言
(2)不能作为组件的事件回调
(3)隔离性
wxs运行环境和其他JavaScript代码是隔离的
wxs不能调用js中定义的函数
wxs不能调用微信小程序提供的API
(4)性能好
在ios设备上,小程序内的wxs会比JavaScript代码快2~20倍
在android设备上,二者的运行效率无差异