小北微信小程序小白系列教程第四篇-- 脚本语言(WXS)

这是微信小程序近期引入的一个概念,我们可以在开发者工具中直接以独立文件的形式建立它们。

当然你也可以使用wxs标签直接在wxml文件中使用。

两种访问均可以。

使用场景:比如我们可以在视图里直接纳入简单的逻辑代码或是对page传递过来的变量进行处理(例如筛选和格式化等等),让你编码更简单。

因此wxs有自己的变量和语法,接下来开始流水账。

变量

官方文档地址为

https://mp.weixin.qq.com/debu...

变量提升问题

微信官方说:“var表现与javascript一致,会有变量提升。

举个例子
比如我们在Page里定义了一个m.msg变量,如下图

而你在wxml的wxs内也定义了一个m.msg,如下图

则我们在视图内使用{{m.msg}}会输出hello world 而不是abc。

对于声明但是没有定义的变量。

还是上面的例子,比如你定于如下图

我们用log打印下,只是声明的变量值统一为undefined,当然你在视图内引用的时候并不会报错,只是显示为空而已。

保留标识符

wxs内部定义了一些标识符,有特殊的含义,不允许变量使用,比如var、if、for、this、case、else等等,都是用来表示某种语法结构的。

详细表看官方文档,都已经给出了,当然你记不住也没关系,开发工具会报错如下信息。

注释

官方文档:https://mp.weixin.qq.com/debu...

这里有一点要说下,就是wxs支持的第三种注释方法,当我们写一个 /* 时候,代表从 /* 开始往后的所有 wxs 代码均被注释,这里的所有代表wxs块的结尾,有一点要注意,看图。

注释的范围是当前模块,因此m2的msg2变量依然可以在视图上显示出来。

运算符

官方文档:https://mp.weixin.qq.com/debu...

该有的都有了,比如最常用的大于小于不等于、求余数、三元运算符等等,你在一个计算机语言中用的运算符在wxs内都有,具体都有哪些见官方文档。

语句

官方文档:https://mp.weixin.qq.com/debu...

话说计算机语言无外乎真假问题、多少问题!抽象过来就是判断语句和循环语句,wxs的判断和循环语句和其他语言都差不多,相信大家自己看文档就清楚,还是需要注意下truthy的问题。

truthy是什么?

wxs集成了js的逻辑,有truthy的概念,简单点说每个变量隐藏着boolean属性,而if是根据truthy来判断分支而非狭义的boolean。

具体什么是truthy推荐大家看下面的这篇文章:http://blog.csdn.net/notzuono...

写的相当不错。

数据类型

官方文档:https://mp.weixin.qq.com/debu...

我们把"hello world"叫做字符串类型,909叫做整数类型,wxs一共支持如下几种数据类型。

number / string / boolean / object / function / array / date / regexp

你可能会差异为何function还是一种数据类型,完全没问题的,看下图我定义的函数类型的变量b

你能用的函数

官方文档:https://mp.weixin.qq.com/debu...

很多很多,一种是类库,一种是每种数据变量的函数。

比如你是字符串的时候,就可以使用它的replace、search等等函数,大部分函数的功能和命名和js中的都一样,看官方文档吧。

模块

官方文档:https://mp.weixin.qq.com/debu...

这些年js界出现了比如seajs、webpack等模块化工具,wxs也是这个逻辑。

每一个 .wxs 文件和 <wxs> 标签都是一个单独的模块。

我们不能直接使用模块内的数据,只能和模块暴露出的接口进行沟通,所以每个模块都有类似下面的语句

其实在js中也是这样的。

当我们要使用一个外部的 .wxs时候

如果此刻你是一个.wxs文件,那就直接使用 类似于 var msg = require("./msg.wxs");语法即可

如果此刻你是一个wxml文件,那需要使用wxs标签,指定src和module属性,如下语句 <wxs src="./../msg.wxs" module="msg" />

当然有一些要注意的地方,这里不做陈述,大家务必仔细看下官方文档,我们必须要看的。

最后

以上5篇其实没有太多技术问题,更多是小程序的基础课程,我们只需要记住它、使用它即可。

接下来我们会对一些组件、api进行讲解,希望电脑前的你安装好微信小程序开发工具,要写写代码啦。

相关阅读:

小北微信小程序小白系列教程第三篇-- 样式(WXSS)

小北微信小程序小白系列教程第二篇 -- 入口

小北微信小程序小白系列教程第一篇-- Hello World

本文作者:北哥 个人站长 @ 北哥兄弟连
原文地址:小北微信小程序之小白教程系列之-脚本语言(WXS)-新手教程-小程序社区-微信小程序-微信小程序开发社区-小程序开发论坛-微信小程序联盟

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引言 WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结构。 注意 w...
    OzanShareing阅读 5,291评论 0 3
  • 因新工作主要负责微信小程序这一块,最近的重心就移到这一块,该博客是对微信小程序整体的整理归纳以及标明一些细节点,初...
    majun00阅读 12,142评论 0 9
  • 作为一名后端开发人员,我希望能从后端语言的某些模式来理解小程序,让我快速的入门。 今天我们依然模拟一个女项目经理和...
    极乐叔阅读 4,030评论 0 0
  • 2.4.2 WXS WXS(WeiXin Script)是小程序的一套脚本语言,结合 WXML,可以构建出页面的结...
    wangbu2阅读 5,071评论 0 2
  • 假如你不够快乐 也不要把眉头深锁 人生本来短暂 为什么 还要栽培苦涩 打开尘封的门窗 让阳光雨露洒遍每个角落 走向...
    简小取阅读 2,593评论 6 5