版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
算术运算符,逻辑运算符,关系运算符
算术运算符:
+加法 -减法 *乘法 /除法 %取余(取模)
var a = 1, b = 2;
a + b = 3
a - b = -1
a * b = 2
a / b = 0.5
a % b = 1
虽然与数学运算很相似,但其中有一些不一样的
var a = "1", b = "2";
a * b = 2
a / b = 0.5
a - b = -1
a + b = 12 // 只有加号不一样,加号有连接的意思;
+号,有两层意思,第一层算数之间的加法;第二层字符串的连接;执行过程中,先检测加号两边的数据类型,如果发现字符型,那就先 生效字符的连接
数据类型转换:强制转换(parseFloat,number(),parseInt等等)、隐式转换
赋值运算符:
= += -+ *= /+ %=
运算符 | 例子 | 等价于 | 运算结果 |
---|---|---|---|
= | y = 6 | y = 6 | |
+= | y += 1 | y = y+1 | y = 7 |
-= | y -= 1 | y = y-1 | y = 5 |
*= | y *= 2 | y = y*2 | y = 12 |
/= | y /= 2 | y = y/2 | y = 3 |
%= | y %= 4 | y = y%4 | y = 2 |
关系运算符:
< <= > >= == != ===
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
== | 等于 | 2 == 3 | false |
=== | 恒等于(值和类型都要做比较) | 2 === 2 2 === “2” | true false |
!= | 不等于,也可写作<> | 2 != 3 | true |
> | 大于 | 2 > 3 | false |
< | 小于 | 2 < 3 | true |
>= | 大于等于 | 2 >= 3 | false |
<= | 小于等于 | 2 <= 3 | true |
条件成立了就输出true,不成立就输出false
逻辑运算符
运算符 | 说明 | 例子 | 运算结果 |
---|---|---|---|
&& | 逻辑与(and) | x = 2;y = 6;x>5 && y>5 | FALSE |
|| | 逻辑或(or) | x = 2;y = 6;x>5 || y>5 | TRUE |
! | 逻辑非,取逻辑的反面 | x = 2;y = 6;!(x > y) | TRUE |
字符串连接运算符 “+”
例1: 使用逻辑运算符&&输出 x = 4;y = 8; x>5 && y>5
var x=4,y=8;
console.log(x>5&&y>5); // false
例2: 使用 || 运算符
console.log(x>5 || y>5); // true
例3: 使用逻辑运算符! 输出 a = 2; b = 6;!(a > b)
// 取与结果相反的一面
var a=2,b=6;
console.log(!(a>b));
额外的补充
自增(++)/自减(–)运算
a++表示在a原有的基础上增加1
相当于: a = a+1;
a--表示在a原有的基础上减小1
相当于: a = a-1;
例1:a=1;输出a++的值
var a =1;
// 先输出,后运算
// console.log(a++); //1
a++;
console.log(a); //2
var a =1;
// 先赋值,再运算
var b = a++;
console.log(b); // 1
例2:b=2;输出b–的值
var c=2;
c--;
console.log(c);
思考:++a和–a呢?
如果前置就是先运算,后进行操作
例3:a=1;输出++a的值
var a=1;
console.log(++a);
例4:a=2;输出–a的值
console.log(--a);
脚下留心
前自增与后自增有本质的区别,他们相同点都是为自身加了1,
不同点是
前自增是先加1,再使用操作数的值
后自增是先使用操作数的值,再加1