返回列表 发帖

微信小程序 运算符

基本运算符
示例代码:

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        ... , ...        逗号        从左到右

返回列表