运算符也被称为操作符,用于实现赋值、比较和执行运算等功能的符号。
1.算术运算符
2.递增和递减运算符
前置递增:先加1 后返回值
// 2. 前置运算符 ++ 写在变量的前面
var age = 30;
++age; // 类似于 age = age +1
console.log(age);
//3. 先加1 后返回值
var p =10;
console.log(++p + 10); //21
后置递增: 先返回原值 后自加1
// 后置自增: 先返回原值 后自加1
var age = 10;
console.log(age++ + 10); //20
console.log(age); //11
3.比较运算符
比较运算符(关系运算符) 是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值(true/false)作为比较运算的结果
非数值的情况:
1. 非数值进行比较时,有一侧为数值另一侧会将其转换为数值后比较
2. 如果符号两侧都是字符串时,不会将其转换为数值比较 。会分别比较字符串中字符的Unicode编码
3. 任何值和NaN做任何比较都是false
NaN不和任何值相等,包括他本身;(NaN == NaN // false)。 通过isNaN检查是否为数值
<script>
console.log(3 >= 5);//false
console.log(2 <= 5);//true
console.log(3 == 5);//false
//== 只要求 值相等
console.log(5 == "5");//true
// === 要求 值相等并且类型相等
console.log(5 === "5");//false
</script>
4.逻辑运算符
逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。用于多个条件的判断
<script>
// 逻辑与 两侧都为true 结果才是true 只要有一侧为false 结果就为false
console.log(3 > 5 && 3 > 2); //false
console.log(3 < 5 && 3 > 2); //true
//逻辑或 || or 两侧都为false 结果才是false 只要有一侧为true 据俄国就是true
console.log(3 > 5 || 3 > 2); //true
console.log(3 > 5 || 3 < 2); //false
// 3. 逻辑非 not
console.log(!true); //false
</script>
4.1. 短路运算
短路运算: 当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再运算右边表达式的值
1. 逻辑与
// 1. 用我们的布尔值参与的逻辑运算 true && false == false
// 2. 123 && 456 是值 或者是 表达式 参与逻辑运算?
// 3. 逻辑与短路运算 如果表达式1 结果为真 则返回表达式2; 如果表达式1为假 那么返回表达 式1
console.log(123 && 456); //456
console.log(0 && 456); //0
console.log(0 && 1+1 && 456);
// 0 null '' undefined NaN 为假,其余为真
2.逻辑或
// 4. 逻辑或短路运算 如果表达式1 结果为真 则返回表达式1; 如果表达式1为假 那么返回表达式2
console.log(123 || 456); //123
console.log(0 || 456); //456
console.log(0 || 456 || 123); //456
5.赋值运算符
用来把数据赋值给变量的运算符