运算符
运算符也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号
- 算数运算符
注意点:1)% 取余(取模)
2)浮点数值的最高精度是17位小数,但在进行算术计算时其精度远远不如整数。
<script>
//1.% 取余 取模运算
console.log(5 % 3);
//2. 浮点数 算数运算里面会有问题
console.log(0.1 + 0.2);//0.30000000000000004
console.log(0.07 * 100);//7.000000000000001
//3.我们不能拿着浮点数进行比较 是否相等
var num = 0.1 + 0.2;
console.log(num == 0.3);//false
</script>
- 表达式和返回值
表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合。(简单理解:由数字、运算符、变量组成的式子)
返回值:表达式有一个返回的值 - 递增和递减运算符
概述:如果需要反复给数字变量添加或减去1,可以使用递增(++)和递减(- -)运算符来完成
(++)和(- -)可以放在变量的前面,也可以放在变量的后面,放在变量前面称为前置递增(递减)运算符,放在后面称为后置递增(递减)运算符。
注意点:必须要和变量配合使用
<script>
//1.想要一个变量加一
var num = 1;
num = num + 1;//++num
console.log(num);//2
//2.前置递增运算符 ++ 写在前面
var age = 10;
++age;
console.log(age);
//3.先加1 后返回值
var p =10;
console.log(++p + 10);//21
//4.前置自增和后置自增单独使用 效果是一样的 后置自增: 先返回原值 后自加1
var a = 10;
//a++;
console.log(a++ + 10);//20
console.log(a);//11
</script>
-
比较运算符
概念:比较运算符(关系运算符)是两个数据进行比较时所使用的运算符,比较运算后会返回一个布尔值(true/false)作为比较结果返回。
注意点: 程序中等于为 (== ), 默认转换数据类型,会把字符串类型转换成数字型。全等需要数据值相等,数据类型相等。 -
逻辑运算符
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值,后面开发中经常用于多个条件的判断。
<script>
//1.逻辑与 && 两侧都为true 结果才是true 只要有一侧是false 结果为false
console.log(3 > 5 && 3 > 2);
// console.log(3 < 5 && 3 > 2);
//2.逻辑或 || 两侧都是false 结果是假 只要有一侧是true 结果都为真
console.log(3 > 5 || 3 > 2);//true
console.log(3 > 5 || 3 < 2);//false
//3.逻辑非 !
console.log(!true);
</script>
注意点: 短路运算(逻辑运算)
短路运算原理: 当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值
1).逻辑与(&&)
语法:表达式1 && 表达式2
如果第一个表达式的值为真,则返回表达式2,如果第一个表达式的值为假,则返回表达式1;
<script>
console.log(123 && 456); //456
console.log(0 && 456); //0
console.log('' && 1 + 2 && 456 * 56789);//''
//如果有 0 '' null undefined NaN
</script>
2).逻辑或( || )
语法:表达式1 || 表达式2
如果第一个表达式的值为真,则返回表达式1,如果第一个表达式的值为假,则返回表达式2;
<script>
//逻辑中断很重要,会影响程序的结果
var num = 0;
console.log(123 || num++);
console.log(num);//0
</script>
- 赋值运算符
<script>
var num = 10;
//num = num + 1;
//num = num + 2;//num += 2;
num += 2;
console.log(num);
</script>
- 运算符优先级