运算符
算术运算符
数学运算符也叫算术运算符,主要包括加、减、乘、除、取余(求模)。
-
+:求和
-
-:求差
-
*:求积
-
/:求商
-
%:取模(取余数)
- 开发中经常作为某个数值是否被整除
同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。 JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执行。
- 乘、除、取余优先级相同
- 加、减优先级相同
- 乘、除、取余优先级大于加、减
- 使用 () 可以提升优先级
- 总结: 先乘除后加减,有括号先算括号里面的~~~
赋值运算符
对变量进行赋值的运算符
- 已经学过的赋值运算符 : = 将等号右边的值赋予给左边 ,要求左边必须是一个变量
- 其他赋值运算符
- +=
- -=
- *=
- /=
- %=
num = num + 1可以写成 num += 1
一元运算符
使用一元运算符进行自增或者自减
-
我们可以有更简洁的写法
-
自增
- 符号: ++
- 作用:让变量的值 +1
-
自减
- 符号:--
- 作用:让变量的值 -1
前置自增:++num 前置自减:--num
- 每执行一次,当前变量数值加1 每执行一次,当前变量数值减1
- 作用相当于 num += 1; 作用相当于 num += 1;
注意:前置自增:先自加 再使用(口诀:++在前 先自加)
后置自增:num++ 前置自减:num--
- 每执行一次,当前变量数值加1 每执行一次,当前变量数值减1
- 作用相当于 num += 1; 作用相当于 num += 1;
注意:后置自增:先使用 再自加(口诀:++在后 后加)
比较运算符
作用:比较两个数据大小 是否相等
>左边是否大于右边<左边食肉小于右边>=左边是否大于或等于右边<=左边是否小于或等于右边==左右两边是否相等,将两边的数据进行转换为数值===左右两边是否类型和值都相等!==左右两边是否不全等
逻辑运算符
| 符号 | 名称 | 日常读法 | 特点 | 口诀 | ||
|---|---|---|---|---|---|---|
| && | 逻辑与 | 并且 | 符号两边都为true结果才为true | 一假则假 | ||
| 逻辑或 | 或者 | 符号两边有一个true就为true | 一真则真 | |||
| ! | 逻辑非 | 取反 | true边false,flase变true | 真变假,假变真 |
逻辑运算符的短路:
⚫ 短路:只存在于 && 和 || 中,当满足一定条件会让右边代码不执行
| 符号 | 短路条件 | ||
|---|---|---|---|
| && | 左边为flase就短路 后面不执行 | ||
| 左边为true就短路 后面不执行。如果第一个为假 就接着执行 |
⚫ 原因:通过左边能得到整个式子的结果,因此没必要再判断右边
⚫ 运算结果:无论 && 还是 || ,运算结果都是最后被执行的表达式值,一般用在变量赋值
赋值的时候才会有短路,否则不用考虑短路
在js中,转换bool为false的值有:0 ,‘ ’ , “ ” ,undefined,null,NaN,其他都为true
语句:
js整句或命令,js语句是以分号结束(可以省略)
比如:if语句 for循环语句
分支语句
-
分支语句可以让我们有选择性的执行想用的代码
-
- 程序三大流程控制语句
-
-
分支语句{
if分支语句
三元运算符
Switch语句
}
-
-
- if语句
⚫ if语句有三种使用:单分支、双分支、多分支
⚫ 单分支使用语法:
if(条件){
满足条件要执行的代码
}else{
不满足条件要执行的代码
}
-
括号内的条件为true时,进入大括号里执行代码
-
➢ 小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
-
多分支if语法:
if(条件1){
}else if(条件2){
}else if(条件3){
}else{
}
三元运算符
⚫ 其实是比 if 双分支 更简单的写法,有时候也叫做三元表达式
⚫ 符号:? 与 : 配合使用
⚫ 语法:
条件 ? 满足条件执行的代码 : 不满足条件执行的代码
- 一般用来取值
- 限制:执行的代码只能有一句
在模板字符串中可以使用三元表达式
while循环
语法:
条件是bool值,写条件表达式,逻辑表达式,变量(转换bool值)
while(循环条件){
要重复执行的代码(循环体)
}
注意:不要写死循环,一定要保证循环可以结束
循环必备三要素:
- 变量起始值
- 终止条件(没有终止条件,循环会一直执行,造成死循环)
- 变量变化量(用自增或者自减)