文章目录
++++
前言:运算符类似于c语言里面的,学过其他语言也差不多
1 运算符
运算符( operator )也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
JavaScript中常用的运算符有:
- 算数运算符
- 递增和递减运算符
- 比较运算符
- 逻辑运算符
- 赋值运算符
2 算数运算符
2.1 算数运算符概述
执行两个变量或值得算数运算
±*/%(加减乘除取余数(取模))
取余:判断一个数能否被整除,余数为0,可以被整除
2.2 浮点数得精度问题
浮点数值的最高精度是17位小数,但在进行算术计算时其精确度远远不如整数。
var result = 0.1 + 0.2;
//结果不是0.3 ,而是: 0.000000000000004
console.log(0.07 * 100) ;
//结果不是7,而是: 7. 000000000000001
所以: 不要直接判断两个浮点数是否相等!
eg 01-算数运算符.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
console.log(1 + 1); // 2
console.log(1 / 1); // 1
// 浮点数 算数运算里面会有问题
console.log(0.1 + 0.2); // 0.30000000000000004
// 我们不能直接拿着浮点数来进行相比较 是否相等
var num = 0.1 + 0.2;
console.log(num == 0.3); // false
</script>
</body>
</html>
2.3 表达式和返回值
表达式:是由数字、运算符、变量等以能求得数值的有意义排列方法所得的组合
简单理解: 是由数字、运算符、变量等组成的式子
表达式最终都会有一个结果,返回给我们。我们称为返回值
3 递增和递减运算符
3.1 递增和递减运算符概述
如果需要反复给数字变量添加或减去1 , 可以使用递增( ++ )和递减( --)
**)**运算符来完成。
在JavaScript中,递增( ++ )和递减( – )既可以放在变量前面,也可以放在变量后面。放在变量前面时,我们可以称为前置递增(递减)运算符,放在变量后面时,我们可以称为后置递增(递减)运算符。
注意: 递增和递减运算符必须和变量配合使用。
3.2 递增运算符
1 前置递增运算符
++num前置递增,就是自加1,类似于num=num+1,但是++num写起来更简单。
使用口诀: 先自加1, 后返回值
2 后置递增运算符
**num++**后置递增,就是自加1 ,类似于num= num + 1 , 但是num+ +写起来更简单。
使用口诀: 先返回原值,后自加1
3.3 前置递增和后置递增小结
- 前置递增和后置递增运算符可以简化代码的编写。让变量的值+ 1比以前写法更简单
- 单独使用时,运行结果相同
- 与其他代码联用时.执行结果会不同
- 后置:先原值运算,后自加(先人后己)
- 前置:先自加,后运算(先已后人)
- 开发时, 大多使用后置递增/减, 并且代码独占一行,例如: num+ +;或者num-;
4 比较运算符
4.1 比较运算符概述
两个数据进行比较时所使用得运算符,比较运算后,会返回一个布尔值(false/true)作为比较运算的结果
> < >= ==(判等号,会转型) !=(不等号) ===(全等号,值和数据类型都一样)
4.2 =小结
= 赋值 右边给左边
== 判断 判断两边是否相等(注意此时有隐式转换)
===全等 判断两边的值和数据类型是否完全相同
5 逻辑运算符
5.1逻辑运算符概述
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断
&& 与and
|| 或or
! 非not 取反
5.4 短路运算(逻辑中断)
短路运算的原理 : 当有多个表达式(值)时,左边的表达式值可以确定结果时,就不再继续运算右边的表达式的值 ;
1.逻辑与
- 语法: 表达式1 &&表达式2
- 如果第一个表达式的值为真,则返回表达式2
- 如果第一个表达式的值为假,则返回表达式1
2.逻辑或
- 语法:表达式1 || 表达式2
- 如果第一个表达式的值为真,则返回表达式1
- 如果第一个表达式的值为假,则返回表达式2
console.log(123||456); // 123
console.log(0||456); // 456
console.log(123||456||789); // 123
var
num = 0;
console. log(123|| num++) ; //num++没有执行
console. log (num) ; // 0
执行结果
123
0
6 赋值运算符
把数据赋值给变量的运算符
= 直接赋值
+= -= 加减一个数 后再赋值
*= /= %= 乘除取模后再赋值
var num = 10;
num += 2; // 相当于num = num + 2;
num *= 10; // 相当于num = num * 10;
7 运算符优先级
优先级 | 运算符 | 顺序 |
---|---|---|
1 | 小括号 | () |
2 | 一元运算符 | ++ – ! |
3 | 算数运算符 | 先*/%后± |
4 | 关系运算符 | > >= < <= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先&& 后 || |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |