JS的运算符
算数运算符
算数运算符用于对数值进行算数运算
运算符 |
描述 |
说明 |
+ |
加法运算 |
|
- |
减法运算 |
|
* |
乘法运算 |
|
/ |
除法运算 |
|
% |
余数运算 |
|
++ |
递加 |
|
-- |
递减 |
|
赋值运算符
向变量进行赋值,一般使用=
号,比如:x=100
、x="abc"
、x=y
,为了提高书写速度,js还有一些赋值运算的简便写法:
运算符 |
描述 |
说明 |
+= |
x += 1 |
x = x + 1 |
-= |
x -= 1 |
x = x - 1 |
*= |
x *= 1 |
x = x * 1 |
/= |
x /= 1 |
x = x / 1 |
%= |
x %= 1 |
x = x % 1 |
字符串运算
- 当在两个字符串中执行
+
运算时,是将两个字符串相连接
var x="abc" , y="def";
x=x+y;
//运算结果:x="abcdef"
- 字符串与数字相加时,自动会将数字转换为字符串,并与字符串相连,并输出字符串
var x="abc" , y=123;
x=x+y;
//运算结果:x="abc123"
比较运算符
- 在js中可以进行比较运算,并返回一个boolean值
运算符 |
描述 |
说明 |
== |
等于 |
x==y,x和y的值是否相等 |
=== |
等值 |
x===y,x和y的值和类型是否相等 |
!= |
不等于 |
x!=y,x和y的值是否不相等 |
!== |
不等值 |
x!=y,x和y的值和类型是否不相等 |
> |
大于 |
x>y,x是否大于y |
< |
小于 |
x<y,x是否小于y |
>= |
大于或等于 |
|
<= |
小于或等于 |
|
? |
三元运算符 |
(条件) ? 条件为真时返回 : 条件为假时返回 例:var x = (10>9) ? 10 : 9 //如果10大于9返回10,否则返回9
|
逻辑运算符
- 在js中可以直接进行逻辑运算,并返回一个boolean值
运算符 |
描述 |
说明 |
&& |
与 |
两个值都为true时,返回true |
| | |
或 |
两个值只要有一个为true,返回true |
! |
非 |
|
类型运算符
运算符 |
描述 |
说明 |
typeof |
返回变量的类型 |
|
instanceof |
如果对象是对象类型的实列,返回true |
|
运算符优先级
优先级 |
运算符 |
说明 |
结合性 |
1 |
[]、.、() |
字段访问、数组索引、函数调用和表达式分组 |
从左向右 |
2 |
++---~!deletenewtypeofvoid |
一元运算符、返回数据类型、对象创建、未定 |
从右向左 |
|
|
义的值 |
|
3 |
*、/、% |
相乘、相除、求余数 |
从左向右 |
4 |
+、- |
相加、相减、字符串串联 |
从左向右 |
5 |
<<、>>、>>> |
左位移、右位移、无符号右移 |
从左向右 |
6 |
<、<=、>、>=、instanceof |
小于、小于或等于、大于、大于或等于、是否 为特定类的实例 |
从左向右 |
7 |
==、!=、===、!== |
相等、不相等、全等,不全等 |
从左向右 |
8 |
& |
按位“与” |
从左向右 |
9 |
^ |
按位“异或” |
从左向右 |
10 |
| |
按位“或” |
从左向右 |
11 |
&& |
短路与(逻辑“与”) |
从左向右 |
12 |
| | |
短路或(逻辑“或”) |
从左向右 |
13 |
?: |
条件运算符 |
从右向左 |
14 |
=、+=、-=、*=、/=、%=、&=、|=、^=、<、<=、>、>=、>>= |
混合赋值运算符 |
从右向左 |
15 |
, |
多个计算 |
按优先级计算,然后从右向左 |