文章已同步至掘金:https://juejin.cn/post/6844903893265039373
欢迎访问😃,有任何问题都可留言评论哦~
算术运算符
给定 y=5,下面表格解释了这些算术运算符:
运算符 | 描述 | 例子 | x运算结果 | y运算结果 |
---|---|---|---|---|
+ | 加法 | x=y+2 | 7 | 5 |
- | 减法 | x=y-2 | 3 | 5 |
* | 乘法 | x=y*2 | 10 | 5 |
/ | 除法 | x=y/2 | 2.5 | 5 |
% | 取模(余数) | x=y%2 | 1 | 5 |
++ | 自增 | x=++y | 6 | 6 |
x=y++ | 5 | 6 | ||
– | 自减 | x=–y | 4 | 4 |
x=y– | 5 |
注:i++ i的值肯定要加1 i++整体是一个旧值
++i i的值肯定要加1 ++i整体是一个新值
注:++ – 运算符有副作用 整体也有一个值
用于字符串的 + 运算符:
加 (+) 运算符还可以把文本值或字符串变量加起来(连接起来)。
例如:
text1 = "How ";
text2 = "are you?";
text3 = text1 + text2;
text3 运算结果:
How are you?
对字符串和数字进行加法运算:
两个数字相加,返回数字相加的和,如果数字与字符串相加,返回字符串,如下实例:
x=5+5;
y="5"+5;
z="Hello"+5;
x、y、z 输出结果如下:
10
55
Hello5
赋值运算符
给定 x=10 和 y=5,下面的表格解释了赋值运算符:
运算符 | 例子 | 等同于 | 运算结果 |
---|---|---|---|
= | x=y | x=5 | |
+= | x+=y | x=x+y | x=15 |
-= | x-=y | x=x-y | x=5 |
*= | x*=y | x=x*y | x=50 |
/= | x/=y | x=x/y | x=2 |
%= | x%=y | x=x%y |
赋值运算符 具有 右结合性
例如:
x=y=z=10
把10赋给了z,z=10整体也有一个值,是左值,然后把整体这个值赋给y,依次类推,而不是把10赋给了x,y,z;
比较运算符
比较运算符在逻辑语句中使用,以测定变量或值是否相等。
给定 x=5,下面的表格解释了比较运算符:
运算符 | 描述 | 比较 | 返回值 |
---|---|---|---|
== | 等于 | x==8 | false |
x==5 | true | ||
=== | 绝对等于(值和类型均相等) | x===“5” | false |
x===5 | true | ||
!= | 不等于 | x!=8 | true |
!== | 不绝对等于(值和类型有一个不相等,或两个都不相等) | x!==“5” | true |
x!==5 | false | ||
> | 大于 | x>8 | false |
< | 小于 | x<8 | true |
>= | 大于或等于 | x>=8 | false |
<= | 小于或等于 | x<=8 | true |
逻辑运算符
逻辑运算符用于测定变量或值之间的逻辑。
给定 x=6 以及 y=3,下表解释了逻辑运算符:
运算符 | 描述 | 例子 |
---|---|---|
&& | 逻辑与(and) | (x<10 && y>1) 为 true |
|| | 逻辑或(or) | (x==5 || y==5) 为 false |
! | 逻辑非(not) | !(x==y)为true |
类型运算符
运算符 | 描述 |
---|---|
typeof | 返回变量的类型 |
instanceof | 返回 true,如果对象是对象类型的实例。 |
位运算符
位运算符处理 32 位数。
该运算中的任何数值运算数都会被转换为 32 位的数。结果会被转换回 JavaScript 数。
运算符 | 描述 | 例子 | 等同于 | 结果 | 十进制 |
---|---|---|---|---|---|
& | 与 | 5&1 | 0101&0001 | 0001 | 1 |
| | 或 | 5 | 1 | 0101 | 0001 | 0101 | 5 |
~ | 非 | ~5 | ~0101 | 1010 | 10 |
^ | 异或 | 5^1 | 0101^0001 | 0100 | 4 |
<< | 零填充左位移 | 5<<1 | 0101<<1 | 1010 | 10 |
>> | 有符号右位移 | 5>>1 | 0101>>1 | 0010 | 2 |
>>> | 零填充右位移 | 5>>>1 | 0101>>>1 | 0010 | 2 |
上例使用 4 位无符号的例子。但是 JavaScript 使用 32 位有符号数。
因此,在 JavaScript 中,~ 5 不会返回 10,而是返回 -6。
~00000000000000000000000000000101 将返回 11111111111111111111111111111010。
条件运算符
格式:
条件表达式?语句1:语句2;
执行流程:
先算条件表达式,若条件表达式为真则执行语句1,并返回执行结果。如果条件表达式为假false,则执行语句2,并返回执行结果。如果条件表达式的值是非布尔值则会转换成布尔值。
例如:
1>2 ? yes : no;
如果 1>2 成立,输出yes,否则输出no;
运算符的优先级
下图运算符优先级从高到底排列
评论区