Javascript 运算符
- 算术运算符:
- + - * / %
- + 加号除了求和,还有字符串拼接的作用 (将一个数值转换成字符串,123 + ‘’ ---> 此时为字符串‘123’)
- - 减号除了能进行减法操作,还有取反(负值)操作
- 复合赋值运算符:+= -= *= /= %=
- + - * / %
- 自增与自减
- ++ 每次加1
- -- 每次减1
- 注意a++(a--)以及++a(--a)的区别:前者进行赋值,然后自身再进行递增或者递减操作
- 关系运算符
- 大小关系比较 < <= > >=
- 比较原则
- 两个数值之间的比较,直接比较大小
- 只有其中一个是数值,则将另一个运算数隐士转换成数值,然后再比较大小
- 两个字符串之间的比较,逐字符比较它们的Unicode数值
- 字符串与非数值间的比较,将运算数转换成字符串并进行比较
- 两个运算数既不是数字也不是字符串,则将其统一转换成数值或者是统一转换成字符串后再进行比较
- 待比较的运算数无法转换成数值或字符串时,返回值为 false
- 与NaN的比较 返回值为 false
- 等值关系比较
- 相等比较
- 操作符 == / != 比较两个运算数的返回值 是否相等 / 不相等
- 类型转换
- boolean true(1) false(0)
- 对象 调用valueOf() 查看基本类型
- 字符串与数值间的比较 ---> 将字符串转为数值
- 比较原则
- null 与 undefined 相等(比较前不进行任何的转换)
- NaN 与任何数值都不相等包括其自身 NaN=NaN--->返回值为false
- 对象 是否属于同一对象 是 == 否 !=
- 相同比较
- 运算符 === !== 比较两个运算数的返回值及数据类型 是否相同 / 不相同
- 比较原则
- 值类型间比较 只有数据类型相同且数值相等才能相同
- 值类型与引用类型间比较 肯定不相同
- 引用类型间比较 比较它们的引用值(内存地址)
- 相等比较
- 对象运算符
- in 判断左侧运算数是否为右侧运算数的成员
- instanceof 判断对象实例是否属于某个类或构造函数
- new 根据构造函数创建一个新的对象,并初始化该对象
- delete 删除指定对象的属性,数组元素或变量
- . [] 存取对象和数组元素
- () 函数调用,改变运算符中的优先级等
- 逻辑运算符 ! && ||
- ! 非 在 0、null、NaN、undefined情况下返回值为true; 在对象(object)、非空字符串、非o数值情况下返回值为 false
- &&
- 当且仅当两个运算数的值都是true时才返回 true,否则返回 false
- 当第一个操作数的值为false则不在对第二个操作数进行求值
- ||
- 当且仅当两个运算数的值都是false时才返回false,否则返回 true
- 如果第一个操作数值为true,则不会对第二个操作数进行求值,直接返回true
- 位运算符
- 基础知识
- 逻辑位运算
- 位移操作
- 复合赋值运算符
- 其他运算符
- ? 条件运算符
- typeof 类型判定运算符
- , 在一行语句中执行多个不同的操作
- void 舍弃运算数的值,返回undefined作为表达式的值