算数操作符
+ : 加
- : 减
* : 乘
/ : 除
%:取余
递增和递减
1、递增
++a与a++都是对a进行递增的操作
区别
++a先返回递增之后的a的值
a++先返回a的原值,再返回递增之后的值
2、递减同理
赋值操作符
简单赋值:=
复合赋值:+=、-=、*=、/=、%=
复合运算可以简化我们的操作,比如var a = 5; 要给a加上5,正常情况我们会这样写 a = a + 5;,如果使用复合赋值,则简写为:a += 5;其他的几个复合赋值同理
比较操作符
>、<、>=、<=、==、===、!=、!==
==:相等,只比较值是否相等
===:相等,比较值的同时比较数据类型是否相等
!=:不相等,比较值是否不相等
!==:不相等,比较值的同时比较数据类型是否不相等
返回值:boolean型
三元操作符
语法:
条件 ? 执行代码1:执行代码2
说明:
可代替简单的if语句,
如果条件成立,执行代码1,否则执行代码2
var id = 76;
var res = id > 60?"合格":"不合格";
res
结果:
合格
把id的值改为55在试一下
var id = 55;
var res = id > 60?"合格":"不合格";
res
结果:
不合格
逻辑操作符
逻辑操作符:
&&:与
||:或
!:非
逻辑与
&& 与 (只要有一个条件不成立,返回false)
说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,
此时它遵循下列规则:
- 如果第一个操作数隐式类型转换后为true,则返回第二个操作数
- 如果第一个操作数隐式类型转换后为false,则返回第一个操作数
- 如果有一个操作数是null,则返回null
- 如果有一个操作数是NaN,则返回NaN
- 如果有一个操作数是undefined,则返回undefined
var num1 = 31; var num2 = 40; var num3 = 66; console.log(num1 < num2 && num2 < num3) console.log(num1 < num2 && num2 > num3) console.log(88 && 55) console.log('hello' && 55 && "abc")
结果:
true
false
55
abc
逻辑或
|| 或 (只要有一个条件成立,返回true)
说明:在有一个操作数不是布尔值的情况,逻辑与操作就不一定返回值,此时它遵循下列规则:
- 如果第一个操作数隐式类型转换后为true,则返回第一个操作数
- 如果第一个操作数隐式类型转换后为false,则返回第二个操作数
- 如果两个操作数是null,则返回null
- 如果两个操作数是NaN,则返回NaN
- 如果两个操作数是undefined,则返回undefined
console.log(55 > 88 || 33 < 66); console.log(55 != '55' || 88 === '88'); console.log('hello' || 0 ); console.log( 99 || 0 || 'abc');
结果:
true
false
hello
99
逻辑非
! 非
说明:
- 无论操作数是什么数据类型,逻辑非都会返回一个布尔值
- ! ! 同时使用两个逻辑非操作符时:
- 第一个逻辑非操作会基于无论什么操作数返回一个布尔值,
- 第二个逻辑非则对该布尔值求反。
console.log(!false);
console.log(!88);
console.log(!0);
结果:
true
false
true