运算符分为几种?
运算符可以分为:算术运算符、赋值运算符、关系运算符、逻辑运算符 。
算术运算符
+ 加、- 减、* 乘、/ 除、% 取模(求余数)、++ 递增、-- 递减。
如果两个数字相模,后面的数字不能为0。如果前面的数字比后面的数字小,那结果就是前面的数字。
1 console.log(2%0);//NaN 2 console.log(5%8);//5
++:递增
两个符号可以放在操作数的前面也可以放在后面 。操作一个数据的时候,++放在数值的后面与前面的效果是一样的,--同理。
1 var a=3; 2 a++; 3 console.log(a);//4 4 var a=3; 5 ++a; 6 console.log(a);//4
操作两个数据(给另一个变量赋值)的时候,++操作符放在变量后面,会先把本身的值赋给另一个变量,然后自己再+1 。
1 var a=2; 2 var b=a++; 3 //先把a的值赋值给b,然后a再+1,所以b是2,a是3 4 console.log(a);//3 5 console.log(b);//2
操作符放在变量前面,先把本身的值+1结果赋给另一个变量,然后自己再+1。
1 var a=2; 2 var b=++a; 3 //先把a+1的值赋值给b,然后a再+1,所以b是3,a也是3 4 console.log(a);//3 5 console.log(b);//3
赋值运算符
=、+=、-=、*=、/=、%=。
1 var a=10; 2 console.log(a+=10);//20 3 var a=10; 4 console.log(a-=5);//5 5 var a=10; 6 console.log(a*=8);//80 7 var a=10; 8 console.log(a/=5);//2 9 var a=10; 10 console.log(a%=3);//1
关系运算符
<、>、<=、>=、==、!=、===、!==。
关系运算符的结果都会转化成布尔值。
1 var a=10; 2 console.log(a<5);//false 3 console.log(a>5);//true 4 console.log(a>=10);//true 5 console.log(a<=10);//true 6 console.log(a==12);//false 7 console.log(a!=10);//false 8 console.log(a=='10');//true 9 console.log(a==='10');//false 10 console.log(undefined==null);//true 11 console.log(undefined==0);//false 12 console.log(null==0);//false 13 console.log(null==false);//false 14 console.log(undefined==false);//false
=== 是严格比较,它比较的不光是值,同时要比较类型。如果值与类型同时相同,返回true。
1 var a=10; 2 var b=10; 3 console.log(a===b);//true
!== 跟===正好相反,如果值与类型同时相同,就返回false。
1 var a=10; 2 var b=10; 3 console.log(a!==b);//false
逻辑运算符
&& 与 并且。当多个条件同时满足的时候,整个条件才会成立。
1 var a=5; 2 var b=10; 3 if(a<10&&b<12){ //两个条件同时成立 4 alert('成立');//成立 5 }else{ 6 alert('不成立'); 7 }
当左侧条件成立,返回右侧的值。当左侧条件不成立,会返回左侧的值。
1 console.log(1&&2);//2 左侧条件成立(true),返回右侧的值 2 console.log(0&&1);//0 左侧条件不成立(false),返回右侧的值
|| 或 或者。如果有一个条件成立,那整个条件就都成立。如果多个条件都不成立,整个条件才不成立。
1 var a=10; 2 var b=15; 3 if(a==10||b==12){ //a==10条件成立,整个条件成立 4 alert('成立');//成立 5 }else{ 6 alert('不成立'); 7 }
当左侧条件成立,返回左侧的值。当左侧条件不成立,会返回右侧的值。
1 console.log(1||2);//1 左侧条件成立(true),返回左侧的值 2 console.log(0||2);//2 左侧条件不成立(false),返回右侧的值
! 否 取反。把值转成布尔值 。
1 var a=true; 2 console.log(!a);//false 3 var b=false; 4 console.log(!b);//true
一、二、三元运算符
一元运算符:操作元素的个数为一个。
1 a++; 2 a--; 3 !a; 4 typeof a;
二元运算符:操作元素的个数为两个。
1 a+b; 2 a-b; 3 a*b; 4 a/b; 5 a%b;
三元运算符:
1 a?b:c;
问号前面是条件,冒号两边是结果。如果前面的条件成立,返回冒号左边的结果。如果前面的条件不成立,返回冒号右边的结果。