微信小程序运算符是一种特殊的语句,它可以用来执行特定的操作,如赋值、比较、逻辑判断等。微信小程序中的运算符有加减乘除、比较运算、逻辑运算、位运算和其他运算。
加减乘除是最常用的四则运算,在微信小程序中使用 + 、- 、* 、/ 来表达。例如:
var a = 10; var b = 20; var c = a + b; // c 的值为 30
比较运算是用来比较两个数字或者变量大小的,在微信小程序中使用 > 、< 、== 、!= 来表达。例如:
var a = 10; var b = 20; if (a > b) { // 判断 a 是否大于 b,此处不会执行}
逻辑运算是用来判断多个条件是否都成立的,在微信小程序中使用 && 、|| 来表达。例如:
var a = 10; var b = 20; if (a > 5 && b < 30) { // 判断 a 大于 5 并且 b 小于 30 才会执行}
位运算是一些特殊的数学运算,在微信小程序中使用 & 、| 、^ 等来表达。例如:
var a = 10; // 1010 的二进制形式 var b = 20; // 10100 的二进制形式 var c = a & b; // 10000 的二进制形式, c 的值为 16
其他常用的一些特殊的运算也有对应的语法标识,例如 ?: 这样的三元表达式 (condition ? expr1 : expr2 ), [] 这样的数学函数 (Math.max(a,b) ), () 这样的函数实参 (func(a,b) ), ! 这样的逻辑非 (!a ) 等。
示例代码:
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 = ".w" , b = "xs";
// 字符串拼接
console.log(".wxs" === 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));
优先级 | 运算符 | 说明 | 结合性 |
---|---|---|---|
20 | ( ... )
|
括号 | n/a |
19 | ... . ... |
成员访问 | 从左到右 |
... [ ... ]
|
成员访问 | 从左到右 | |
... ( ... )
|
函数调用 | 从左到右 | |
17 | ... ++
|
后置递增 | n/a |
... --
|
后置递减 | n/a | |
16 | ! ... |
逻辑非 | 从右到左 |
~ ... |
按位非 | 从右到左 | |
+ ... |
一元加法 | 从右到左 | |
- ... |
一元减法 | 从右到左 | |
++ ... |
前置递增 | 从右到左 | |
-- ... |
前置递减 | 从右到左 | |
typeof ... |
typeof | 从右到左 | |
void ... |
void | 从右到左 | |
delete ... |
delete | 从右到左 | |
14 | ... * ... |
乘法 | 从左到右 |
... / ... |
除法 | 从左到右 | |
... % ... |
取模 | 从左到右 | |
13 | ... + ... |
加法 | 从左到右 |
... - ... |
减法 | 从左到右 | |
12 | ... << ... |
按位左移 | 从左到右 |
... >> ... |
按位右移 | 从左到右 | |
... >>> ... |
无符号右移 | 从左到右 | |
11 | ... < ... |
小于 | 从左到右 |
... <= ... |
小于等于 | 从左到右 | |
... > ... |
大于 | 从左到右 | |
... >= ... |
大于等于 | 从左到右 | |
10 | ... == ... |
等号 | 从左到右 |
... != ... |
非等号 | 从左到右 | |
... === ... |
全等号 | 从左到右 | |
... !== ... |
非全等号 | 从左到右 | |
9 | ... & ... |
按位与 | 从左到右 |
8 | ... ^ ... |
按位异或 | 从左到右 |
7 | ... | ... |
按位或 | 从左到右 |
6 | ... && ... |
逻辑与 | 从左到右 |
5 | ... || ... |
逻辑或 | 从左到右 |
4 | ... ? ... : ... |
条件运算符 | 从右到左 |
3 | ... = ... |
赋值 | 从右到左 |
... += ... |
赋值 | 从右到左 | |
... -= ... |
赋值 | 从右到左 | |
... *= ... |
赋值 | 从右到左 | |
... /= ... |
赋值 | 从右到左 | |
... %= ... |
赋值 | 从右到左 | |
... <<= ... |
赋值 | 从右到左 | |
... >>= ... |
赋值 | 从右到左 | |
... >>>= ... |
赋值 | 从右到左 | |
... &= ... |
赋值 | 从右到左 | |
... ^= ... |
赋值 | 从右到左 | |
... |= ... |
赋值 | 从右到左 | |
0 | ... , ... |
逗号 | 从左到右 |
movable-area基础库 1.2.0 开始支持,低版本需做兼容处理movable-view 的可移动区域注意:movable-area 必须设置width和height属...
live-player基础库 1.7.0 开始支持,低版本需做兼容处理。实时音视频播放(v2.9.1 起支持同层渲染)。暂只针对国内主体如下类目...
ad-custom基础库 2.10.4 开始支持,低版本需做兼容处理。原生模板 广告。属性类型默认值必填说明最低版本unit-idstring是广告单...
UDPSocketwx.createUDPSocket()基础库 2.7.0 开始支持,低版本需做兼容处理。创建一个 UDP Socket 实例。使用前请注意阅读相关说...
关键词:状态机,售卖机有限状态机(Finite-StateMachine,FSM),简称状态机,是表示有限个状态以及在这些状态之间的转移和动作...
在本节中,我们将学习如何使用不同的传感器连接我们的Arduino板。我们将讨论以下传感器: 湿度传感器(DHT22)温度传感器(LM35...
desktopCapturer模块可用来获取可用资源,这个资源可通过getUserMedia捕获得到.// 在渲染进程中.var desktopCapturer = require(...
设备模式移动仿真随着移动用户的增长,移动端友好的响应式网站设计变得越来越重要。网页的内容要在不同的设备以及各种网络环境下...
凹凸图用于使用Measure值之一来比较两个尺寸。它们对于探索时间维度或地方维度或与分析相关的其他维度的值的变化非常有用。凹凸...
项目脚手架grunt-initgrunt-init是一个用于自动创建项目脚手架的工具。它会基于当前工作环境和你给出的一些配置选项构建一个完整...