关系运算符
所有的关系运算最终得到的结果都是布尔结果:true或者false
true: 条件比较成功 (条件满足)
false: 条件比较失败 (条件不满足)
- >: 大于,左边大于右边
- <: 小于,左边小于右边
- >=: 大于等于, 左边大于或者等于右边
- <=: 小于等于, 左边小于或者等于右边
- ==: 等于,左边等于右边(值相同:隐藏的类型转换)
- !=: 不等于,左边不等于右边
- ===: 全等,左边等于右边且类型一致
- !==: 不全等,左边不等于右边或者类型不一致
关系运算(比较运算)在实际开发中,使用特别多
关系运算不管是哪种:最终都只有true和false,一般用来做判定条件的。
逻辑运算符
逻辑运算符
&&: and, 逻辑与,左边的条件和右边的条件都满足,得到的结果为真
一个或者两个条件不成立: 结果为假
||: or, 逻辑或, 左边的条件和右边的条件只要最少满足一个,得到的结果为真
左边条件和右边条件都不满足:结果为假
!: not, 逻辑非,针对原有的结果取反,原来为真最终为假,原来为假最终为真。
短路运算:
- 如果第一个表达式就代表整个结果,不算第二个
- JS逻辑与和逻辑非都不会去主动将数据的类型转换成布尔
运算符优先级
运算符优先级:确定不同运算符的运算规则
- ()小括号:优先级运算符作用就是提升优先级:不被拆散
- 自增与自减
- 算术运算符(先乘除后加减)
- 比较运算符
- 逻辑运算符
- 赋值运算符
- 同级运算符从左往右运算
// Parse系列:parseInt()整数 和 parseFloat()小数
// 转换的规则与Number()规则不同
let width = '10.5.5px';
let res = parseInt(width);
console.log(res); //10
let res2 = parseFloat(width);
console.log(res2); //10.5
// parse系列转换规则:
// 1. 从第一个符号开始:如果是有效数字,保留
// 2. 如果是parseFloat()还要考虑第一个小数点
// 细节1:如果字符串两边有空格,系统会自动忽略
let love = ' 520 1314 ';
console.log(parseInt(love)); //520
// 细节2:parse系列于Number系列针对其他类型的转化规则也不同
console.log(parseInt(true)); // NaN
console.log(parseInt(null)); // NaN