操作符
算数运算符(+、-、*、/、%、**)
一元运算符(++、--、+、-)
赋值运算符(=、*=、/=、%=、+=、-=)
相等运算符(==,!=,===,!==)
关系运算符(>、<、>=、<=)
位操作符(~、&、|、^、<<、>>、>>>)
逻辑运算符(!、&&、||)
条件运算符(?:)
算数运算符
用来处理类似于四则运算的符号(**,这个是取幂,3**2=9);
一元运算符
一些只需要一个操作符的运算符,具体举例
var x=3,y,z;
y=x++; //y=3,x=4,先赋值,然后自己在+1
y=++x; //y=4,x=4,先运算+1,然后赋值
--是同理的
一元负号(-)
y=-x; //y=-3
一元正好(+)
+3; //3
+"3"; //3
+true; //1
+function(val){} //NaN
赋值运算符
就是将左边的值赋值给右边
var y=10,x="abc";
y +=2; //12,写法等同于y=y+2,同理,-=,*=,/=,%=
解构赋值
var [a,b,c]=[1,2,3];
console.log(a) //1
console.log(b) //2
console.log(c) //3
相等运算符
//相等(==)
1==1 //true
"1"==1 //true,“1”
0 == false //true
在JS中,JS在比较的过程中会将两边的类型转换成相同的类型,然后再比较
//严格相等(===)
1===1 //true
"1"===1 //false
//不相等
1 != 0 //true
1 != "1" //false
0 != false //false
//严格不想等
3 !=="3" //true
4 !=="3" //true
关系运算符
和相等运算符类似,主要比较操作符两边的大小
位运算符(没讲不明白)
将其操作符转换成二进制后,进行与,或,非,异或等操作运算,最终返回一个JS中的数值
逻辑运算符
主要通过与,或,非,来判断一个表达式的值是否为true
与&&,必须两个都为true
result == false&&true //false
result == false && (3==4) //false
result == "cat" && "dog" //true
或||,一个为true就返回true
result == false&&true //true
result == false && (3==4) //false
result == "cat" && "dog" //true
非!,求反
result == !false //true
result == !("4"==4) //false
result == !"cat" //false
短路计算
false&&anything //与要2个都为true,第一个为false了,所以不管第二个任何值都是false
true||anything //或只要1个为true,第一个为true了,所以不管第二个为任何值,都是true
条件运算符
(表达式)?(true时返回):(false时返回)
例如:
var a=59
var b=(a>59)?59:95 //通过表达式判断a是否大于59,如果大于,则返回59,如果不大于,则返回95