运算符
1.运算符
运算符(operator)也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
1.1 算术运算符
算术运算符使用的符号,用于执行两个变量或值的算术运算
运算符 描述 语法 实例
+ 加 a+b 10+20 = 30
- 减 a-b 10-20 = -10
* 乘 a*b 10*20 = 200
/ 除 a/b 10/20 =0.5
% 取余数(取摩) a%b 9%2=1
点数的精度问题浮点数值的最高精度是17位小数,但在进行算术计算时其精确度远远不如整数
<script>
var result = 0.1 + 0.2 // 结果不是0.3,而是:0.30000000000000004
console.log(0.07*100); // 结果不是7,而是: 7.00000000000000001
</script>
所以:不要直接判断两个浮点数是否相等课堂提问
1. 我们怎么判断 一个数能够被整除呢?
它的余数是0 就说明这个数能被整除, 这就是 % 取余运算符的主要用途
2. 请问 1 + 2 * 3 结果是?
结果是7 ,注意算术运算符优先级的,先乘除,后加减,有小括号先算小括号里面的
1.2 递增和递减运算符
++
-
<script>
var a = 10;
++a;
var b = ++a + 2;
console.log(b);
var c = 10; c++;
var d = c++ + 2;
console.log(d);
var e = 10;
var f = e++ + ++e;
console.log(f);
</script>
小结
前置递增和后置递增运算符可以简化代码的编写,让变量的值 + 1 比以前写法更简单
单独使用时,运行结果相同
与其他代码联用时,执行结果会不同
后置:先原值运算,后自加(先人后己)
前置:先自加,后运算(先已后人)
开发时,大多使用后置递增/减,并且代码独占一行,例如:num++; 或者 num--
6.3 逻辑运算符
概念:逻辑运算符是用来进行布尔值运算的运算符,其返回值也是布尔值。后面开发中经常用于多个条件的判断
运算符 描述 案列 结果
&& “逻辑与”,简称"与",and true && false false
|| 大于号 true || false true
! 大于等于号(大于或等于) !true false
短路运算(逻辑中断)短路运算的原理:
当有多个表达式(值)时,左边的表达式值可以确定结果时,就不用继续运算右边的表达式的值;
a. 逻辑与
语法:表达式1&&表达式2
如果第一个表达式的值为真,则返回表达式2
如果第一个表达式的值为假,则返回表达式1
<script>
console.log(123 && 456); // 456
console.log(0 && 456); //0
console.log(123 && 456 && 789); // 789
</script>
b. 逻辑或
语法:表达式1 || 表达式2
如果第一个表达式的值为真,则返回表达式1
如果第一个表达式的值为假,则返回的表达式2
<script>
console.log(123 || 456); // 123
console.log(0 && 456); // 456
console.log(123 && 456 && 789); // 123
</script>
1.5 赋值运算符
概念:用来把数据赋值给变量的运算符
赋值运算符 说明 案例
= 直接赋值 var userName=‘我是值’
+=、-= 加、减一个数后在赋值 var age=10;age+=5 // 15
*=、/=、%= 乘、除、取摩后再赋值 var age=2;age*=5 //10
1.6运算符优先级
优先级 运算符 顺序
1 小括号 ()
2 一元运算符 ++ -- !
3 算术运算符 先 * / % 后 + -
4 关系运算符 > >= < <=
5 相等运算符 == != = !
6 逻辑运算符 先 && 后||
7 赋值运算符 =
8 逗号运算符 ,
一元运算符里边逻辑非优先级很高
逻辑与比逻辑或优先级高
<script>
console.log( 4 >= 6 || '人' != '阿凡达' && !(12 * 2 == 144) && true)
var num = 10;
console.log( 5 == num / 2 && (2 + 2 * num).toString() === ‘22’);
</script>
<script>
var a = 3 > 5 && 2 < 7 && 3 == 4;
console.log(a);
var b = 3 <= 4 || 3 > 1 || 3 != 2;
console.log(b);
var c = 2 === "2";
console.log(c);
var d = !c || b && a ;
console.log(d);
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现