js运算符
1.算术运算符
+ - * / % ++ --
+ 加法
- 减法
* 乘法
/ 除法
% 取余
++ 自增,在原来基础上加1
-- 自减,在原来基础上减1
var a = c++;//先把c的值赋给a,然后再执行自增
var b = ++c;//先让c执行自增,然后再把c的值赋给b
2.比较运算符
> < == >= <= != ===
> 大于
< 小于
== 等于
>= 大于或等于
<= 小于或等于
!= 不等于
=== 全等于会判断数据类型
3>'10' 数字和字符串比较,字符串转为数字
'3'>'10' 字符串比较,比较的是首个字符的Unicode码
3>'10a'
3<'10a'
3=='10a'
以上3个中10a隐式转为NaN,而NaN和任何值比较(> < >= <= == ===)都返回false,甚至两个NaN比较是否相等也是false
总结: 比较运算符所有返回值都是布尔类型的值
3.逻辑运算符
&& 并且(逻辑与),关联的两个条件都是true,结果是true,否则false
|| 或者(逻辑或),关联的两个条件有一个为true,结果是true,否则false
! 非(逻辑非),取反
var num = 3;
num<5 && num>2 //true
num>2 && num>5 //false
num>2 || num>5 //true
num<2 || num>5 //false
短路逻辑
并且(&&),如果第一个条件为false,不再执行第二个条件
或者(||),如果第一个条件为true,不再执行第二个条件
在短路逻辑中,无需关注最终的结果是true还是false,重点是看第二个表达式是否执行
4.位运算符(了解)
模拟计算机底层的运算过程
1 2 3 4 5 6 7 8 9 10
1 10 11 100 101 110 111 1000 1001 1010
20=16+4
10000+100=10100
100001=100000+1
32+1=33
按位与(&):上下两位都是1,结果是1,否则是0
按位或(|): 上下两位含有1,结果是1,否则是0
5.赋值运算符
= += -= *= /= %=...
赋值 计算赋值:先执行计算,然后执行赋值。
6.三目运算符
一目,由一个运算符连接的一个操作数据或表达式 ++ -- !
二目,由一个运算符连接的两个操作数据或表达式 + - * ...
三目,由两个运算符连接的三个操作数据或表达式
条件表达式 ? 表达式1 : 表达式2
如果条件表达式为true,执行表达式1;
如果条件表达式为false,执行表达式2;
var sex = 0;
sex==1?'男':'女
加油!!! 前端开发工程师