1.JavaScript的六种运算符
1.1 算数运算符
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法 | c=parseInt(a) d=parseInt(b) result1=c+d; 加法要注意+连接前后不能是字符串类型的数据 |
- | 减法 | a=a-1000 |
* | 乘法 | a=a*100 |
/ | 除法 | a/2 |
% | 取模(余数) | if(num%2==1) { alert('奇数') } |
++ | 递加 | a++;a-- |
- - | 递减 | a--;--a |
注意“a++;++a”和“a–;--a”的区别:
a++ 是a在调用时还是原值,a调用之后才把a的值加上1;
++a 是a在调用之前就先加上1,调用时其值是a+1
简单的举个例子:
var h, a=100;
h=a++;
// 它的输出值为100
alert(h);
var h, a=100;
h=++a;
// 它的输出值为101
alert(h);
var h, a=100;
h=a--;
// 它的输出值为100
alert(h);
var h, a=100;
h=--a;
// 它的输出值为99
alert(h);
1.2 赋值运算符
赋值顾名思义就是给js的变量赋值
运算符 | 举例 | 其他写法 |
---|---|---|
= | a=b | |
+= | a+=b | a=a+b |
-= | a-=b | a=a-b |
*= | a*=b | a=a*b |
/= | a/=b | a=a/b |
%= | a%=b | a=a%b |
1.3 字符串运算符
级联运算符“+”:用于对字符串进行相加
var a='hello';
var b='how are you ';
var c=a+b;
alert(c);
var a='11';
var b='22';
var c=a+b;
alert(c);
上述示例中“+”不是数字运算符而是级联运算符,所以会得出上述结果,所以用到“+”做运算符,一定要注意数据类型。
1.4 比较运算符
运算符 | 描述 |
---|---|
== | 等于(值相等) |
=== | 恒等于(数据类型相同,值相等) |
!= | 不相等 |
!== | 不等型或不等值 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
? | 三元运算符(var a=1>3? '对':'错';alert(a); 输出值为错) |
1.5 逻辑运算符
运算符 | 描述 |
---|---|
&& | 且 |
II | 或 |
! | 非 |
1.6 位运算符
位运算符处理 32 位数,该运算中的任何数值运算数都会被转换为 二进制数,结果会被转换回 JavaScript 数。
运算符 | 描述 | 示例 | 二进制 | 输出结果 | 十进制 |
---|---|---|---|---|---|
& | 按位与(如果两位都是 1 ,则他们为 1) | 5&1 | 0000 0101&0000 0001 | 0000 0001 | 1 |
I | 按位或(如果两位有一个是 1 ,则设置为 1) | 5I1 | 0000 0101 I 0000 0001 | 0000 0101 | 5 |
~ | 按位非(反转所有位) | ~5 | ~0000 0101 | 0000 1010 | 10 |
^ | 按位异或(如果两位只有一位为 1 ,则设置为 1) | 5^1 | 0000 0101^0000 0001 | 0000 0100 | 4 |
<< | 左位移(从右推向左位移) | 5<<1 | 0000 0101<<1 | 0000 1010 | 10 |
>> | 右位移(从左推入最左位的拷贝来向右位移) | 5>>1 | 0000 0101>>1 | 0000 0010 | 2 |
2.运算符优先级
2.1 优先级排序
**运算符优先级 :**一元运算符 > 算术运算符 > 比较运算符 > 逻辑运算符 > 三元运算符 > 赋值运算符 > 逗号运算符
注意:逻辑取反运算符属于一元运算符