11.ECSAScript运算符

字数 214阅读 24
  • 一元运算符

运算符 运用 释义
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=2alert(++i)的结果3,而alert(i++)的结果为2
正号
负号
+2;-2 1.正号/负号表示值的正负

  • 位运算符

  1. ECMAScript中整数有32个数位;
  2. 无符号整数,只有正数,范围0~(2^32-1);
  3. 有符号整数,第32位为符号位,0表示正数,1表示负数,故范围为-2^31~2^31;
  4. 正数存储直接为:符号位+二进制码;
  5. 负数存储为:符号位+二进制补码[正数的二进制码取反码(即0变1,1变0),然后加1];
  6. 所有整数字面量都默认存储为有符号整数
  7. 所有的位运算均针对二进制进行运算
  8. 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,发生错误。

  • 三位运算符

  1. 又叫条件运算符;
  2. 表达方式: 条件?成立则:否则;
  3. 例:(a>b)?a:b 若a>b成立返回a,否则返回b

推荐阅读更多精彩内容