1.一元操作符
(1)递增,递减操作符
递增,递减操作符分为前置,后置。
这四个操作符不仅适用于整数,也适用于字符串,布尔值,浮点数值和对象。在应用于不同操作符时,操作符遵循以下规则:
- 包含有效数字字符的字符串,先转化为数字值,再执行,字符串变量变成数字变量。
- 不包含有效数字字符的字符串,转化为NaN。
- 布尔值false为0,true为1,再执行。
- 浮点数值,直接执行
- 对于对象,先调用对象的valueof()方法,以取得一个可供操作的值
(2)一元加减操作符
一元加操作符放在数值前面,不会产生影响,例如:
var k=3;
k=+k; //k还是3
对于非数值,会像Number()转型函数一样对这个值进行转换。
一元减操作符主要用于负数,例如:
var num=3;
num=-num; //num变成了-3
2.位操作符
(1)按位非
按位非由~表示,执行的结果就是返回数值的反码
var num1=25;
var num2=~num1;
alert(num2); //-26
(2)按位与(&)
(3)按位非(|)
(4)左移(<<)
这个操作符会在二进制位数上向左移动:
var num=2; //二进制位10
var num2=num1<<5; //等于二进制的1000000
(5)有符号的右移
右移操作符为>>,会将数值向右移动,但保留符号位。
(6)无符号右移
无符号右移操作符为>>>,这个操作符会移动32位,对于正数来说,结果还是正数,对于负数,结果会转化为正数。
3.布尔操作符
(1)逻辑非
逻辑非操作符由!组成,无论值是什么类型,这个操作符都会返回一个布尔值。如果操作数是对象,非空字符串,非零数值,会返回false;如果操作数是空字符串,0,null,NaN,underfined,会返回true。
(2)逻辑与
逻辑与操作符由两个和号(&&)表示,有两个操作数,规则如下:
- 第一个操作数是对象,返回第二个操作数;
- 如果第二个是对象,只有在第一个操作数求值结果为true时,才会返回该对象;
- 如果两个都是对象,则返回第二个操作数;
- 如果第一个操作数为NaN,null,underfined,则返回NaN,null,underfined;
(3)逻辑或
逻辑或由两个竖线符号(||)表示,有两个操作数。
- 如果第一个操作数为对象,则返回第一个操作数
- 如果第一个操作数为false,则返回第二个操作数
- 如果两个操作数都是对象,则返回第一个操作数
- 如果两个操作数都是null,NaN,underfined,则返回null,NaN,underfined;
4.乘性操作符
(1)乘法*
(2)除法/
(3)求模%
5.加性操作符
(1)加法
(2)减法
6.关系操作符
这几个关系操作符我们通过以下例子说明,
扫描二维码关注公众号,回复:
1606763 查看本文章
var result1="BRI"<"aler"; //true,比较首字母字符编码
var result2="BRI".toLowerCase()<"aler".toLowerCase();//false,转化为小写字母
var result3="23"<"3"; //true,比较的是“2”“3”的字符编码
var result4="23"<3; //false,转化为字符23比较
var result4="a"<3; //false,"a"转化为NaN
7.相等操作符
(1)相等(==)和不相等(!=)
(2)全等和不全等
全等(===):只在两个操作符未经转化就相等的情况下返回true。
不全等(!==):只在两个操作数未经转化就不相等的情况下返回true。
8.条件操作符
9.赋值操作符
10.逗号操作符
使用逗号操作符可以在一条语句中执行多个操作,逗号操作符可用于声明多个变量,还可以用于赋值。
var num={4,4,5,0}; //num的值为0