-
一元运算符
运算符 | 运用 | 释义 |
---|---|---|
delete | delete person.name |
1.delete运算符删除对自定义的对象属性或方法的引用 2.不包括系统属性和方法 3.删除引用后的变量值将置为undefined |
void | void(name) |
1.void运算符对任何值返回 undefined 2.即经过void运算,返回的结果均为undefined |
前增 前减 |
++i;--i |
1.前增/前减运算发生在计算表达式之前 2.运算++i等同于i=i+1,前减类似 |
后增 后减 |
i++;i-- |
1.后增/后减运算发生在计算表达式之后 2.运算i++等同于i=i+1,后减类似 3.例: var i=2 则alert(++i) 的结果3,而alert(i++) 的结果为2 |
正号 负号 |
+2;-2 |
1.正号/负号表示值的正负 |
-
位运算符
- ECMAScript中整数有32个数位;
- 无符号整数,只有正数,范围0~(2^32-1);
- 有符号整数,第32位为符号位,0表示正数,1表示负数,故范围为-2^31~2^31;
- 正数存储直接为:符号位+二进制码;
- 负数存储为:符号位+二进制补码[正数的二进制码取反码(即0变1,1变0),然后加1];
- 所有整数字面量都默认存储为有符号整数
- 所有的位运算均针对二进制进行运算
- ECMAScript中将其转换为32位二进制进行计算
运算符 | 释义 | 例如 |
---|---|---|
~ | not,按位取反 | 1.把运算数转为32位二进制; 2.取其反码; 3.转换为进制值数; 4.公式:~a=-a-1 |
& | and,按位与运算 | 一零则零 |
| | or,按位或运算 | 一一则一 |
^ | 按位异或 | 相异则一 |
<< | 左移运算 | 按位左移,高位丢弃,低位补零 |
>> | 右移运算 | 按位右移,低位丢弃,高位补零(符号位不动) |
>>> | 无符号右移运算 | 按位右移,低位丢弃,高位补零(符号位移动) |
-
逻辑运算
运算符 | 释义 | 例如 |
---|---|---|
! | 逻辑非,not,不存在 | 1.如果运算数是对象,返回 false 2.如果运算数是数字 0,返回 true 3.如果运算数是 0 以外的任何数字,返回 false 4.如果运算数是 null,返回 true 5.如果运算数是 NaN,返回 true 6.如果运算数是 undefined,发生错误 |
&& | 逻辑和,and,一零则零 | 1.如果一个运算数是对象,另一个是 Boolean 值,返回该对象。 2.如果两个运算数都是对象,返回第二个对象。 3.如果某个运算数是 null,返回 null。 4.如果某个运算数是 NaN,返回 NaN。 5.如果某个运算数是 undefined,发生错误。 |
|| | 逻辑或,or,一一则一 | 1.如果一个运算数是对象,并且该对象左边的运算数值均为 false,则返回该对象。 2.如果两个运算数都是对象,返回第一个对象。 3.如果最后一个运算数是 null,并且其他运算数值均为 false,则返回 null。 4.如果最后一个运算数是 NaN,并且其他运算数值均为 false,则返回 NaN。 5.如果某个运算数是 undefined,发生错误。 |
-
三位运算符
- 又叫条件运算符;
- 表达方式: 条件?成立则:否则;
- 例:(a>b)?a:b 若a>b成立返回a,否则返回b