目 录CONTENT

文章目录

JavaScript运算符

俊阳IT知识库
2022-12-23 / 0 评论 / 0 点赞 / 367 阅读 / 1,105 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-12-23,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
广告

文章已同步至掘金: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;

运算符的优先级

下图运算符优先级从高到底排列
js-operator-1


^_<

0

评论区