算术运算符
注:
-
取余 除后剩余的数 判断一个数能被整除为0
-
浮点数会有误差 不能直接拿来运算和比较
表达式
表达式由数字 运算符 变量组成 表达式返回的值是返回值
递增递减运算符 ++
给自己加一
前置递增运算符:++xx --xx
和变量一起使用 先自增 后返值
※后置自增运算符: xx++
单独使用效果相同
先返原值 后自增
开发后置用的多 并独占一行
比较运算符
注:
-
==默认转换数据类型 字符串转换数字
-
=== 要求值和数值类型完全一样
-
!= 不等于也有默认类型转换
-
大于等于>=也默认转换格式
逻辑运算符
运算规则:
-
与 && 两侧都是真 才是真 一方是假都为假
-
或 || 两方为假才是假 一方为真 就是真
-
非 ! 取反
逻辑与比逻辑或的优先级要高
为什么非能和布尔扯上关系?
因为布尔值并不是一个固定的值 类似于一种形容 当值是true时 !取反就是false
布尔值为false的情况只有六种 详情看布尔值基础
短路运算(逻辑中断)
程序默认从左开始运行
与: 从左开始一旦有一个条件不满足就终止运行 因为与的特性一方为false就等于false 不会再往左执行
或: 从左开始一旦有一个条件满足就终止运行 因为或特性一方为true就等于true 不会再往后左执行
联想记忆:
与比较认真 只能什么与什么 不能容忍不正确 所以在找到不正确时就全部判定为false
或比较随意 可以或什么或什么 所以在找到一个正确时就不想往后寻找 就全部判定为true
赋值运算符
作用: 用来将数据赋值给变量的运算符
赋值运算符 | 说明 | 案例 |
---|---|---|
= | 直接赋值 | var a=‘我是值’ |
+=、-= | 先加减 再赋值 | var a=10 a+=5 //15 |
*=、/=、%= | 先乘除、取模 后再赋值 | var a=2 a*=5 //10 |
var age = 10
age+=5等于写成aeg+5结果都=15
※运算符优先级
一个操作数等于一元运算符
操作数: 字面的意思就是被操作的数值 例:a||b 当中的ab就是操作数
-
一元运算符中的逻辑非优先级很高
-
逻辑与比逻辑或优先级高
-
逗号集体声明用的
-
重点记住小括号 在不清楚优先级的情况下包裹括号就行
重点: 运算符的优先级不是运算的优先级 是结合的优先级 优先级高的运算符会比优先级低的运算符先结合 并不会被优先级低的剥离
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pRvPMr4s-1577929051730)(9.2_运算符.assets/1567426524856.png)]
分支结构
作用:根据不同的条件 执行不同的代码
※if语句
if=如果
if(条件表达式){
// 执行语句
}
// if里面可以嵌套
执行思路:如果if条件表达式结果为真true 则执行大括号内的语句 如果为假 则执行if语句后面的其他语句
if else双语句
if如果 else否则
if(条件表达式){
//执行语句1
} else{
//执行语句2
}
执行思路:如果表达式为真 执行语句1 否则执行语句2
注:最终只会执行一个分支 else后面没有小括号
if else if 多分支语句
检查多重条件
if(条件表达式){
//执行语句1
}else if(条件表达式){
//执行语句2
}else if(条件表达式){
//执行语句3
}else{
//最后语句
}
执行思路:满足1执行1 不满足依次往后类推 都不成立 执行else最后语句
注:还是只能选择一条分支 else if能任意多个 中间空格隔开
三元表达式
三元运算符组成的表达式 = 三元表达式 相当于else if的简体
var a > 10 ? '是' : '不是'
// 前方是条件 问号后是选项 是就是第一项 否则 是后面一项
switch语句
// 语法结构 switch 转换、开关 case 小例子或者选项的意思
switch (表达式) {
case value1:
执行语句1;
break;
case value2:
执行语句2;
break;
...
default:
执行最后的语句;
}
注意事项:
-
表达式内的值和case里面的值匹配必须是全等 值和类型完全一致
-
没有break就不会退出 会继续执行下一个case
if else和switch区别
-
switch 用于固定值 if else范围大灵活性高
-
switch 直接跳转目标 if else依次判别 switch效率更高
-
分支少if else 分支多switch
小结
- 递增递减运算有前置后置之分 前置先自增 后传值 后置 先传原值 后再自增
- 逻辑运算符 &&与比或||结合优先级要高 与只有一个为假 值就等于假 或只要一个为真 就为真 非取反 等于真的为假 等于假的为真