运算符
加,减,乘,除,取余
不要用浮点数进行运算,会有误差
是有数字,运算符,变量等组成的式子就是表达式
自增自减运算符
var c = 10;
var d = c++ + ++c;//1.c++ = 10 c = 11 2.c = 12 ++c =12
console.log(d); //22
运算符优先级
优先级 | 运算符 | 顺序 |
---|---|---|
1 | 小括号 | () |
2 | 一元运算符 | ++ - - ! |
3 | 算术运算符 | 先* / %后+ - |
4 | 关系运算符 | > >= < <= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先&& 后或() |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |
一元运算符里面的逻辑非优先级很高
逻辑与比逻辑或优先级高
流程控制
三种流程控制
顺序,分支,循环
分支流程控制
switch语句和if else if语句的区别
1,一般情况下,他们两个语句可以相互替换
2,switch……case语句通常处理case为比较确定值的情况,而if……else……语句更加灵活,常用语范围判断(大于,等于某个范围)
3,switch语句进行条件判断后直接执行到程序的条件语句,效率更高,而if……else语句有几个条件,就得判断多少次。
4,当分支比较少时,if……else语句的执行效率比switch语句高。
5,当分支比较多时,switch语句的执行效率比较高,而且结构比较清晰。
if语句
单分支
单分支语句:
语法:
if(判断的条件){
执行语句;(判断条件为true的时候执行)
}
双分支
双分支语句:
语法:
if(判断的条件){
执行语句;(判断条件为true的时候执行)
}else{
执行语句;(判断条件为false的时候执行)
}
多分支
多分支语句:
语法:
if(判断条件1){
执行语句1;
}else if(判断条件2){
执行语句2;
}
...
else{
执行语句;(上述所有条件都不成立,执行这里。)
}
步骤:
1、确定判断条件应该些什么
2、根据不同的结果,编写对应的执行语句。
【注】if()里面可以写任何的表达式,都会自动数据类型转换成布尔值。
switch语句
switch语句:
语法:
switch(表达式){
case 常量1:
执行语句1;
break;
case 常量2:
执行语句2;
break;
...
default:
当上述所有的case选项都匹配失败,执行这里。
break;
}
过程:
1、计算switch()语句表达式的值
2、和case后续的的值进行匹配,匹配成功,执行对应case选项下的执行语句。
注意:
1、一般情况下不要省略break;
break代表的是终止当前的switch语句
2、一般情况下不要省略default;
三目运算符:
格式:
表达式1 ? 表达式2 : 表达式3;
执行:
1、先去判断表达式1是否为真
2、表达式1为真,直接去执行表达式2
3、表达式1为假,直接去执行表达式3
【注】本质是一个双分支语句。
循环流程
- JS中循环有for,while,do while 三个循环很多情况下都可以相互替换使用
- 如果是用来记次数,跟数字相关的,三者使用基本相同,但是我们更喜欢用for
- while和do……while可以做更复杂的判断田间,比for循环灵活一些
- while和do……while执行循序不一样,while先判断后执行,do……while先执行一次,在判断执行
- while和do……while执行次数不一样,do……while至少会执行一次循环体,而while可能一次也不执行
- for最常用
for循环
for(初始化变量;条件表达式;操作表达式){
循环体
}
while循环
while(循环条件){
循环体
}
特别说明:while循环是先判断再执行语句。
do while循环
do{
循环体
}while(循环条件);
特别说明:do while循环是先执行,再判断。