【JS系列3】 javascript 运算符
1. 算术运算符
1-1 运算符
- + 功能:①对数字进行代数求和 ②对字符进行连接操作 ③将一个数字转换成字符串(数字 + 空字符串)
- - 功能:①对操作数进行取反操作 ②对数字进行减法操作 ③将字符串转成数值(数值型字符串 - 0)
- * 功能:对两个运算数进行乘法运算
- / 功能:对两个运算数进行除法运算
- % 功能:返回两个除数的余数
1-2 复合赋值运算符
- += 、-= 、*= 、/= 、%=
2. 自增与自减
2-1 功能相反
- ++ 对唯一的运算数进行递增操作(每次加1)
- — 对唯一的运算数进行递减操作(每次减1)
2-2 规则相同
- 运算数必须是一个变量、数组的一个元素或者对象的属性
- 如果运算符是非数值的,则运算符会将它转成数值
2-3 符号位置决定运算结果
- 运算数之前:先进行递增(递减)操作,再进行求值
- 运算数之后:先求值,再进行递增(递减)操作
3. 关系运算符
3-1 大小关系检测
- 运算符:
< 、<= 、>= 、>
- 操作规则:
- 相同比较
4. 对象运算符
- in:判断左侧运算数是否为右侧预算数的成员
- instantof 判断对象实例是否属于某个类或构造函数
- new根据构造函数创建一个新的对象,并初始化该对象
- delete 删除指定对象的属性,数组元素或变量
- .及[] 存储对象和数组元素
- ()函数调用,改变运算运算符优先级
5. 逻辑运算符
5-1 !逻辑非
- 返回值:
- 特性
- 如果运算数的值为false则返回true,否则返回false
- 连续使用两次,可以将任意类型转为布尔型值
5-2 &&逻辑与
- 规则
- 特性
5-3 ||逻辑或
- 规则
- 特性
6. 位运算符
6-1 基础知识
- 类型
- 数值范围 -2147483648~2147483647
- 存储方式
- 补码的计算步骤:
- 当做0来处理的特殊值:NaN,Infinity
6-2 逻辑位运算
- 返回值为1:
- 返回值为0:
6-3 位移操作
- 左移
<<
- 有符号右移
>>
- 无符号右移
>>>
6-4 复合赋值运算符
- 位操作与符号结合,复合赋值不会有性能方面的提升
7. 其它运算符
- typeof 类型判定运算符
- ?:条件运算符,简洁的if else
- ,逗号,在一行语句中执行多个不同的操作
- void 舍弃运算数的值,返回undefined作为表达式的值