前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【小程序】WXS脚本

【小程序】WXS脚本

作者头像
陶然同学
发布2023-02-24 11:54:24
4000
发布2023-02-24 11:54:24
举报
文章被收录于专栏:陶然同学博客

目录

概述

1. 什么是 wxs

2. wxs 的应用场景

3. wxs 和 JavaScript 的关系*

基础语法

1. 内嵌 wxs 脚本

2. 定义外联的 wxs 脚本

 3. 使用外联的 wxs 脚本

WXS 的特点

1. 与 JavaScript 不同

2. 不能作为组件的事件回调

​编辑 3. 隔离性

4. 性能好

概述

1. 什么是 wxs

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

2. wxs 的应用场景

wxml 中无法调用在页面的 .js 中定义的函数,但是,wxml 中可以调用 wxs 中定义的函数。因此,

小程序中 wxs 的典型应用场景就是“过滤器”。

3. wxs 和 JavaScript 的关系*

虽然 wxs 的语法类似于 JavaScript,但是 wxs 和 JavaScript 是完全不同的两种语言:

wxs 有自己的数据类型  

number 数值类型、string 字符串类型、boolean 布尔类型、

object 对象类型、  function 函数类型、array 数组类型、    date 日期类型、    

 regexp 正则

wxs 不支持类似于 ES6 及以上的语法形式  

不支持:let、const、解构赋值、展开运算符、箭头函数、对象属性简写、etc...  

支持:var 定义变量、普通 function 函数等类似于 ES5 的语法

wxs 遵循 CommonJS 规范  

module 对象  

require() 函数  

module.exports 对象

基础语法

1. 内嵌 wxs 脚本

wxs 代码可以编写在 wxml 文件中的 <wxs> 标签内,就像 Javascript 代码可以编写在 html 文件中

的 <script> 标签内一样。 wxml 文件中的每个 <wxs></wxs> 标签,必须提供 module 属性,用来

指定当前 wxs 的模块名称,方便在 wxml 中访问模块中的成员:

2. 定义外联的 wxs 脚本

wxs 代码还可以编写在以 .wxs 为后缀名的文件内,就像 javascript 代码可以编写在以 .js 为后缀名

的文件中一样。示例代码如下: 

 3. 使用外联的 wxs 脚本

在 wxml 中引入外联的 wxs 脚本时,必须为 <wxs> 标签添加 module 和 src 属性,其中:  

module 用来指定模块的名称  

src 用来指定要引入的脚本的路径,且必须是相对路径

示例代码如下:

WXS 的特点

1. 与 JavaScript 不同

为了降低 wxs(WeiXin Script)的学习成本, wxs 语言在设计时借大量鉴了 JavaScript 的语法。

但是本质上,wxs 和 JavaScript 是完全不同的两种语言! 

2. 不能作为组件的事件回调

wxs 典型的应用场景就是“过滤器”,经常配合 Mustache 语法进行使用,例如:

但是,在 wxs 中定义的函数不能作为组件的事件回调函数。例如,下面的用法是错误的:

 3. 隔离性

隔离性指的是 wxs 的运行环境和其他 JavaScript 代码是隔离的。体现在如下两方面:

wxs 不能调用 js 中定义的函数

wxs 不能调用小程序提供的 API

4. 性能好

在 iOS 设备上,小程序内的 WXS 会比 JavaScript 代码快 2 ~ 20 倍

在 android 设备上,二者的运行效率无差异

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-12-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
    • 1. 什么是 wxs
      • 2. wxs 的应用场景
        • 3. wxs 和 JavaScript 的关系*
        • 基础语法
          • 1. 内嵌 wxs 脚本
            • 2. 定义外联的 wxs 脚本
              •  3. 使用外联的 wxs 脚本
              • WXS 的特点
                • 1. 与 JavaScript 不同
                  • 2. 不能作为组件的事件回调
                    • 4. 性能好
                    相关产品与服务
                    云开发 CloudBase
                    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档