JavaScript operators 运算符
算术运算符
+
加法运算,可用于数值和字符串的运算。
var sum=1+2; // sum=3
var string="abc"+"123"; // string="abc123"
加法符合以下规则:
- 两个数值相加,结果为二者之和
- 运算数包含字符串时,非字符串转换为字符串,两个字符串再连接到一起
-
减法运算,可用于数值的运算。
var difference=3-1; // difference =2
*
乘法运算,可用于数值的运算。
var product=3*5; // product=15
/
除法运算,可用于数值的运算。
var quotient=6/2; // quotient=3
%
取余运算,可用于数值的运算。
var remainder=5/2; // remainder=1
++
增量运算,用于使数值加 1。有多种使用方式:
var a=1,
b=2,
c=3,
d=4;
a++; // a=2
++b; // b=3
var x=c++; // x=3,c=4
var y=++d; // y=5,d=5
左增量运算的返回值和结果相同,右增量运算的返回值比结果小 1。
--
减量运算,用于使数值减 1。使用方式类似于增量运算:
var a=1,
b=2,
c=3,
d=4;
a--; // a=0
--b; // b=1
var x=c--; // x=3,c=2
var y=--d; // y=3,d=3
左减量运算的返回值和结果相同,右减量运算的返回值比结果大 1。
位运算符
位运算将整数值转换为 32 位二进制数进行运算,运算方式类似于逻辑运算(1=true,0=false)。
~
按位非运算,将数值所有位的值进行非运算:
var a=~5; // a=-6
结果相当于: ~x=-x-1;
&
按位与运算,将两个数值对应位的值进行且运算:
var a=3&5; // a=1
|
按位或运算,将两个数值对应位的值进行或运算:
var a=3|5; // a=7
^
按位异或运算,两个数值对应位的值相同时,结果对应位为 0;否则,结果对应位为 1:
var a=3^5; // a=6
<<
位左移运算,将数值所有位左移 n 的位,空出的位用 0 填充:
var a=5<<3; // a=40
>>
保留符号位右移运算,将数值保留符号位,其他所有位右移 n 的位,空出的位用符号位的值填充:
var a=-128>>3; // a=-16
>>>
不保留符号位右移运算,将数值所有位右移 n 的位,空出的位用 0 填充:
var a=-128>>>3; // a=536870896
赋值运算符
=
赋值运算,将 = 号右侧表达式的值赋值给左侧的变量:
var a=2+3; // a=5
+=
加法赋值运算,将 = 左侧变量的值加上右侧表达式的值,并赋值给左侧的变量:
var a=3;
a+=5; // a=8
// 相当于 a=a+5;
-=
减法赋值运算,将 = 左侧变量的值减掉右侧表达式的值,并赋值给左侧的变量:
var a=3;
a-=2; // a=1
// 相当于 a=a-2;
*=
乘法赋值运算,将 = 左侧变量的值乘以右侧表达式的值,并赋值给左侧的变量:
var a=3;
a*=2; // a=6
// 相当于 a=a*2;
/=
除法赋值运算,将 = 左侧变量的值除以右侧表达式的值,并赋值给左侧的变量:
var a=3;
a/=2; // a=1
// 相当于 a=a/2;
%=
取余赋值运算,将 = 左侧变量的值除以右侧表达式的值取余,并赋值给左侧的变量:
var a=3;
a%=2; // a=1
// 相当于 a=a%2;
<<=
位左移赋值运算,将 = 左侧变量的值位左移后,赋值给左侧的变量:
var a=5;
a<<=3; // a=40
// 相当于 a=a<<3;
>>=
保留符号位右移赋值运算,将 = 左侧变量的值位保留符号右移后,赋值给左侧的变量:
var a=-128;
a>>=3; // a=-16
// 相当于 a=a>>3;
>>>=
不保留符号位右移赋值运算,将 = 左侧变量的值位不保留符号右移后,赋值给左侧的变量:
var a=-128;
a>>>=3; // a=536870896
// 相当于 a=a>>>3;
逻辑运算符
!
非运算,对调 bool 值。
var bool=!true; // bool=false
&&
且运算,两个 bool 值均为 true 时,返回 true;如果包含 false,则返回 false。
var bool=true && false; // bool=false
||
或运算,两个 bool 值均为 false 时,返回 false;如果包含 true,则返回 true。
关系运算符
关系运算符可用于对值或表达式的判断,最终返回 bool 类型的值。
比较运算符可用于数值或字符串之间的比较:
- 两个值均为数值时,以数值比较大小
- 两个值均为字符串时,依次比较对应位置的字母
- 一个值为数值,另一个值为字符串时,将字符串转换为数值进行比较
<
小于判断,如果左侧的值小于右侧的值,返回 true;否则,返回 false。
var bool=1<2; // true
>
大于判断,如果左侧的值大于右侧的值,返回 true;否则,返回 false。
var bool=3>1; // true
<=
小于或等于判断,如果左侧的值小于或等于右侧的值,返回 true;否则,返回 false。
var bool=2<=2; // true
>=
大于或等于判断,如果左侧的值大于或等于右侧的值,返回 true;否则,返回 false。
var bool=2<=2; // true
==
相等判断,如果两个值的大小相等,则返回 true。
var bool="2"==2; // true
!=
不相等判断,如果两个值的大小不相等,则返回 true。
var bool=2!=3; // true
===
全等判断,如果两个值的大小和类型均相等,则返回 true。
var bool="2"===2; // false
!==
不全等判断,如果两个值的大小和类型不都相等,则返回 true。
var bool="2"!==2; // true
条件运算符
? :
条件运算,如果判断部分的值为 true,则返回第一个值;否则,返回第二个值。
var a=(1<2) ? 1 : 2; // 返回较小的值
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论