运算符和流程控制笔记
一、运算符
表达式和返回值
-
表达式:是由数字,运算符,变量等组成的式子。
-
表达式最终会有一个结果返回给我们,我们称为返回值。
1.算数运算符(+、-、*、/、%)
1.浮点数在算术运算里会有问题
console.log(0.1 + 0.2); //0.3000000000004
2.num==0.3 是判断两边是否相等
3.不要直接判断两个浮点数是否相能
4.算术运算符有优先级和以前一样
2.递增和递减运算符
- 递增递减必须和变量一起使用
1.前置递增++age(先自加一,后返回值)
2.后置递增age++(先返回原值,后自加一) 加一都是相对age来说的
两者单独使用效果一样(单独时c 和c++且++c值一样)
3.比较运算符(返回一个布尔值)
运算符名称 | 说明 | 案例 | 结果 |
---|---|---|---|
< | 小于号 | 1<2 | true |
> | 大于号 | 1>2 | false |
>= | 大于等于号(大于或者等于) | 2>= 2 | true |
<= | 小于等于号(小于或者等于) | 3<= 2 | false |
== | 判等号(会转型) | 37 == 37 | true |
!= | 不等号 | 37 != 37 | false |
= == !== | 全等 要求值和数据类型都-一致 | 37 === ‘37’ | false |
注意:①‘==’默认会把字符串类型转为数字类型(只要有等于在都会,包括>=.<=)
②===全等符号是判断两边数值和类型是否都一样
等号总结:
符号 | 作用 | 用法 |
---|---|---|
= | 赋值 | 把右边给左边 |
== | 判断 | 判断两边值是否相等(注意此时有隐式转换) |
= == | 全等 | 判断两边的值和数据类型是否完全相同 |
4.逻辑运算符
短路运算(当有多个表达式(值)时,左边表达式可以确定结果那就不在计算右边的值。)
1.逻辑与短路运算
语法:表达式1 && 表达式2
如果第一个表达式真,则返回表达式2
如果第一个表达式假,则返回表达式1
例:(数字只有0是假的其余都为真)
console.log(123&&456); //456
console.log(0&&456); //0
2.逻辑与短路运算 ||
如果第一个表达式真,则返回表达式1
如果第一个表达式假,则返回表达式2
5.赋值运算符
6.运算符的优先级
(逻辑运算符比较低 一般以它划分)
二、流程控制
顺序结构、分支结构、循环结构。
1.分支结构
1.if分支语句
if (条件表达式) {
//语句
}
if里面表达式为真则执行大括号里语句,为假则执行if语句后面代码。
2.if else双分支语句
if (条件表达式) {
//语句1
} else {
//语句2
}
真语句1 假语句2
注意:①语句1和语句2 只能执行一个②else后跟大括号
3.if else if 多分支语句
if (条件表达式1) {
//语句1
} else if (条件表达式2) {
//语句2
} else if (条件表达式3) {
//语句3
} else {
//条件123都不满足则执行最后的语句
}
注意:else if 中间有空格
三元运算符( ?:)
语法结构 条件表达式 ? 表达式1 :表达式2
条件表达式真 则执行表达式1 条件表达式假 则执行表达式2
4.switch语句多分支语句(针对设置一系列特定值的选项时)
switch (条件表达式) {
case value1:
语句1;
break;
case value2:
语句2;
break;
default:最后的语句;
}
利用表达式的返回值和case后面的选项相匹配,如果匹配上就执行里面的语句,如果没有匹配上,那就执行default里面的语句。
注意:①表达式经常写成变量,并且变量的值和case里面的值相匹配,条件是全等(值和类型一样)。
②如果当前的case里面没有break,则不会退出switch,不管匹不匹配值继续执行下一个case,直到遇到break或者default。
5.switch和if else if区别
①一般情况,可以替换。
②Switch case语句通常处理case会比较确定值的情况。而if else if语句更加灵活,常用于范围判断,大于等于某个范围。
③Switch语句进行条件判断后直接执行到程序的条件语句,效率更高。而if else if语句有几种条件,就得判断多次。
2.循环结构
目的:可以重复执行某些代码 注:for循环里会主动转换为数字类型
1.for循环
for (初始化变量;条件表达式;操作表达式) {
//循环体
}
1.初始化变量 就是用var声明的一个普通变量,通常用于作为计数器使用。
2.条件表达式 是用来决定每一次循环是否继续执行,就是终止的条件。
3.操作表达式 是每次循环最后执行的代码,经常用于我们计数器变量进行更新(递增或者递减)。
断点调试:
2.for循环嵌套
for (初始化;条件表达式;操作表达式){
for (;;){
//循环语句
}
}
注意:外循环执行一次,内循环执行全部
2.while循环
while (条件表达式){
//循环体
}
//里面应该也有计数器 初始化 操作表达式
var num = 1;
while (i<=100){
console.log('hello!')
num++;
}
3.do while 循环
do {
//循环体
} while (条件表达式)
//代码验证
var i =1;
do {
console.log('hello')
i++;
} while (i <= 100)
先执行一次循环体,再判断条件,如果条件表达式结果为真,则继续执行循环体。否则退出循环。
continue break关键字
continue用于立即跳出本次循环,继续下一次循环。
break用于立即跳出整个循环