微信小程序详解(6.WXS语法:变量,注释,运算符,语句,数据类型,基础类库)

介绍

wxs中也是有变量存在的,因为我们也要做各种各样应用和引入,因此变量的存在是必须的,那么什么是WXS变量呢?

WXS 中的变量均为值的引用。
没有声明的变量直接赋值使用,会被定义为全局变量。
如果只声明变量而不赋值,则默认值为 undefined。
var表现与javascript一致,会有变量提升。

流程

1.变量名
变量命名必须符合下面两个规则:

首字符必须是:字母(a-zA-Z),下划线(
剩余字符可以是:字母(a-zA-Z),下划线(
), 数字(0-9)

保留标识符
以下标识符不能作为变量名:
delete
void
typeof

null
undefined
NaN
Infinity
var

if
else

true
false

require

this
function
arguments
return

for
while
do
break
continue
switch
case
default

因为这些标识符在系统中已经有各自的作用了,相当于已经封装过了,因此,这些标识符就不能够再次的当作变量名字来使用了,这样会引起命名冲突.

2.注释
WXS 主要有 3 种注释的方法。

<!-- wxml -->
<wxs module="sample">
// 方法一:单行注释

/*
方法二:多行注释
*/

/*
方法三:结尾注释。即从 /* 开始往后的所有 WXS 代码均被注释

var a = 1;
var b = 2;
var c = "fake";


上述例子中,所有 WXS 代码均被注释掉了。

方法三 和 方法二 的唯一区别是,没有 */ 结束符。

3.运算符

基本运算符

var a = 10, b = 20;

// 加法运算
console.log(30 === a + b);
// 减法运算
console.log(-10 === a - b);
// 乘法运算
console.log(200 === a * b);
// 除法运算
console.log(0.5 === a / b);
// 取余运算
console.log(10 === a % b);

像这些都是简单的加减乘除的运算都属于基本运算符
(注意:加法运算(+)也可以用作字符串的拼接)

一元运算符

示例代码:

var a = 10, b = 20;

// 自增运算
console.log(10 === a++);
console.log(12 === ++a);
// 自减运算
console.log(12 === a--);
console.log(10 === --a);
// 正值运算
console.log(10 === +a);
// 负值运算
console.log(0-10 === -a);
// 否运算
console.log(-11 === ~a);
// 取反运算
console.log(false === !a);
// delete 运算
console.log(true === delete a.fake);
// void 运算
console.log(undefined === void a);
// typeof 运算
console.log("number" === typeof a);

位运算符

示例代码:

var a = 10, b = 20;

// 左移运算
console.log(80 === (a << 3));
// 带符号右移运算
console.log(2 === (a >> 2));
// 无符号右移运算
console.log(2 === (a >>> 2));
// 与运算
console.log(2 === (a & 3));
// 异或运算
console.log(9 === (a ^ 3));
// 或运算
console.log(11 === (a | 3));

比较运算符

示例代码:

var a = 10, b = 20;

// 小于
console.log(true === (a < b));
// 大于
console.log(false === (a > b));
// 小于等于
console.log(true === (a <= b));
// 大于等于
console.log(false === (a >= b));

等值运算符
示例代码:

var a = 10, b = 20;

// 等号
console.log(false === (a == b));
// 非等号
console.log(true === (a != b));
// 全等号
console.log(false === (a === b));
// 非全等号
console.log(true === (a !== b));

赋值运算符
示例代码:

var a = 10;

a = 10; a *= 10;
console.log(100 === a);
a = 10; a /= 5;
console.log(2 === a);
a = 10; a %= 7;
console.log(3 === a);
a = 10; a += 5;
console.log(15 === a);
a = 10; a -= 11;
console.log(-1 === a);
a = 10; a <<= 10;
console.log(10240 === a);
a = 10; a >>= 2;
console.log(2 === a);
a = 10; a >>>= 2;
console.log(2 === a);
a = 10; a &= 3;
console.log(2 === a);
a = 10; a ^= 3;
console.log(9 === a);
a = 10; a |= 3;
console.log(11 === a);

二元逻辑运算符
示例代码:

var a = 10, b = 20;

// 逻辑与
console.log(20 === (a && b));
// 逻辑或
console.log(10 === (a || b));

其他运算符
示例代码:

var a = 10, b = 20;

//条件运算符
console.log(20 === (a >= 10 ? a + 10 : b + 10));
//逗号运算符
console.log(20 === (a, b));

运算符优先级
示例代码:

var a = 10, b = 20;

//条件运算符
console.log(20 === (a >= 10 ? a + 10 : b + 10));
//逗号运算符
console.log(20 === (a, b));

运算符优先级
微信小程序详解(6.WXS语法:变量,注释,运算符,语句,数据类型,基础类库)_第1张图片
微信小程序详解(6.WXS语法:变量,注释,运算符,语句,数据类型,基础类库)_第2张图片
微信小程序详解(6.WXS语法:变量,注释,运算符,语句,数据类型,基础类库)_第3张图片
微信小程序详解(6.WXS语法:变量,注释,运算符,语句,数据类型,基础类库)_第4张图片
微信小程序详解(6.WXS语法:变量,注释,运算符,语句,数据类型,基础类库)_第5张图片
在这里插入图片描述
4.语句

if 语句
在 WXS 中,可以使用以下格式的 if 语句 :

if (expression) statement : 当 expression 为 truthy 时,执行 statement。

if (expression) statement1 else statement2 : 当 expression 为 truthy 时,执行 statement1。 否则,执行 statement2

if … else if … else statementN 通过该句型,可以在 statement1 ~ statementN 之间选其中一个执行。

switch 语句

switch (表达式) {
  case 变量:
    语句;
  case 数字:
    语句;
    break;
  case 字符串:
    语句;
  default:
    语句;
}

(注意:default 分支可以省略不写。
case 关键词后面只能使用:变量,数字,字符串。)

for 语句

for (语句; 语句; 语句)
  语句;

for (语句; 语句; 语句) {
  代码块;
}

(注意:支持使用 break,continue 关键词。)

while 语句

while (表达式)
  语句;

while (表达式){
  代码块;
}

do {
  代码块;
} while (表达式)

(注意:当表达式为 true 时,循环执行语句或代码块。
支持使用 break,continue 关键词。)

5.数据类型
WXS 语言目前共有以下几种数据类型:

number : 数值
string :字符串
boolean:布尔值
object:对象
function:函数
array : 数组
date:日期
regexp:正则

number:
number 包括两种数值:整数,小数。
constructor:返回字符串 “Number”

方法

toString
toLocaleString
valueOf
toFixed
toExponential
toPrecision

string
string 有两种写法:

'hello world';
"hello world";

属性
constructor:返回字符串 “String”。
length
除constructor外属性的具体含义请参考 ES5 标准。

方法同上.

基本上都是这样,还有一些不太一样的可以参考手册

6.基础类库
console
console.log 方法用于在 console 窗口输出信息。它可以接受多个参数,将它们的结果连接起来输出。

JSON
方法
stringify(object): 将 object 对象转换为 JSON 字符串,并返回该字符串。
parse(string): 将 JSON 字符串转化成对象,并返回该对象。

Number
属性
MAX_VALUE
MIN_VALUE
NEGATIVE_INFINITY
POSITIVE_INFINITY

Date
属性
NaN
Infinity
undefined

方法
parseInt
parseFloat
isNaN
isFinite
decodeURI
decodeURIComponent
encodeURI
encodeURIComponent

WXS语法就到这里了.

总结:

WXS总归到底也是一种语法,所以语法该有的东西它一般都有,包括,变量,注释,运算符,数据类型等等,但是它的使用方法又和一般的语法并不我完全相同.需要我们多看手册

总结注意点:

  • 变量中有很多是不能当作变量名字的这些被我们称之为 保留标识符
  • 运算符中的加法运算(+)也可以用作字符串的拼接
  • 语句中的switch语句 default 分支可以省略不写,case 关键词后面只能使用:变量,数字,字符串
  • for语句中支持使用 break,continue 关键词
  • while语句中当表达式为 true 时,循环执行语句或代码块,支持使用 break,continue 关键词

好了,我们的WXS语法就讲到这里了,下期再见

你可能感兴趣的:(微信小程序)