提示
本文主要介绍 JavaScript 的运算符。@ermo
# 运算符
# 算术运算符
常用的算数运算符一共有5种,分别是:
- 加法,
+
- 减法,
-
- 乘法,
*
- 除法,
/
- 取余,
%
其中加法有一些特殊,只有在 number 类型的数值使用加号时执行的才是数学运算逻辑中加法。
如果是字符串使用加号,则是拼接2个值,返回的类型也是字符串。
其余符号都是正常的数学运算逻辑。
// 2
console.log(1 + 1);
// 字符串11
console.log(1 + '1');
// 3
console.log(4 - 1);
// 16
console.log(4 * 4);
// 2
console.log(4 / 2);
// 1
console.log(5 % 2);
# 赋值运算符
赋值运算符的作用就是将值与变量进行关联,主要有以下5种:
=
,常用的赋值操作+=
,加法运算然后赋值-=
,减法运算然后赋值*=
,乘法运算然后赋值/=
,除法运算然后赋值%=
,取余运算然后赋值
以 +=
为例子,n += 1
和 n = n + 1
的结果是相同的,只是一种简写方式。其余组合赋值符号的原理与 +=
相同。
var n = 1;
n += 1;
// 2
console.log(n);
var n1 = 5;
n1 -= 2;
// 3
console.log(n1);
var n2 = 6;
n2 *= 2;
// 12
console.log(n2);
var n3 = 4;
n3 /= 2;
// 2
console.log(n3);
var n4 = 5;
n4 %= 2;
// 1
console.log(n4);
# 比较运算符
比较运算符就是进行2个值的比较,返回布尔类型,常用的比较运算符有:
>
,大于<
,小于>=
,大于或等于<=
,小于或等于==
,相等===
,完全相等!=
,不等于!==
,完全不相等
==
和 ===
区别在于,前者不比较数据类型,只要值相等就返回 true,后者要同时满足值和数据类型相等,才会返回 true。!=
不等于和 !==
完全不等于原理相同。
// true
console.log(2 > 1);
// true
console.log(1 < 2);
// true
console.log(2 >= 2);
// true
console.log(3 <= 4);
// true
console.log(1 == '1');
// false
console.log(1 === '1');
// false
console.log(2 != '2');
// true
console.log(2 !== '2');
# 条件运算符
条件运算符用于判断条件表达式的结果,常用的有3种类型:
&&
,且,2个条件同时为 true 则为 true||
,或,2个条件有一个为 true 则为 true!
,非,条件为 true 返回 false,条件为 false 返回 true- 三目运算符
// false
console.log((2 > 1) && (3 > 4));
// true
console.log((2 > 1) || (3 > 4));
// false
console.log(!(2 > 1));
三目运算符的语法如下:
var 变量 = 条件 ? 表达式1 : 表达式2;
条件返回结果为 true,将表达式1运算后的值赋值给变量,否则将表达式2运算后的值赋值给变量。
var age = (5 > 6) ? 5 : 6;
// 6
console.log(age);
# 自增自减运算符
自增自减运算符分别是 ++
和 --
,使用时可以放到变量的前面和后面。
前置 ++
和后置 ++
的共同点就是都能把变量自身加1。
前置 ++
进行变量自身加1,然后参与运算。
后置 ++
先参与运算,最后将自身加1。
var n = 2;
// 4
console.log(1 + ++n);
var n1 = 2;
// 3
console.log(1 + n1++);
自减运算符 --
和自身运算符原理相同,不进行赘述。