JavaScript流程控制语句
今日目标:
- 运算符相关(掌握)
- 流程控制概念(了解)
- 条件分支语句if(掌握)
- 循环语句for(精通)
- 状态分支语句switch(了解)
运算符:
1.算术运算符:
+ - * / %(取余) ++ --
++ -- (自增、自减)
原则:独立成行,进行运算,都是自身进行加一或者减一;
当和其他的数值进行运算是,遵循:谁在前,谁先进行运算;
(放在前面: 先自身+1运算,再和其他的运算数计算
放在后面: 先和其他的运算数计算,再自身+1运算
)
2.比较运算符:
> < >= <= == != === !==
注意:==只会对值进行比较,不会比较类型(12 == "12" true)
!=的结果和==相反
===不仅会对值进行比较,也会对类型进行比较(12 === "12" false)
!==的结果和===相反
3.三目(三元、条件)运算符:
语法: 条件表达式 ? 值1 : 值2;
为真拿值1 为假拿值2
10>4 ? "成立":"不成立";
4.逻辑运算符:
|| -- 逻辑或,特点:一方为真即为真;
&& -- 逻辑与,特点:一方为假即为假,两方为真才为真;
! -- 取反;
技巧:
1、&& 逻辑与,只有所有值为true,才可能返回最后一表达式的值;
2、| | 逻辑或,从左向右运算表达式,如果表达式为true,就返回表达式的值,如果为false,继续向后寻找表达式为true的值;
3、!逻辑非; !!表达式可以将任何数据类型转换为布尔值;
注意:JavaScript中所有的值都具有真假性,0、“”、false、null、undefined、NaN为false,其他的数据均为true。
5.字符串拼接:
es5:+
es6:模板字符串(`${变量名}`)
字符串与任何变量进行“+”运算,都是进行字符串连接,运算结果为一个新的字符串。
6.赋值运算:
=
a+=b ===> a = a+b;
() [] 优先级最高
赋值优先级最低
先乘除后加减
优先级相同情况下,从左到右依次计算
流程控制语句:
1.if条件语句
单分支语句:
if(条件为真){
//条件语句
}
双分支语句:
if(条件为真){
//真的结果
}else{
//不满足的结果
}
多分支语句:
if(条件1){
//语句1
}else if(条件2){
//语句2
}else if(条件n){
//语句n
}else{
//以上条件都不满足,执行这里
}
注意:如果条件有重合,最苛刻的条件放在最前面
2.for循环语句
语法:
// 第一步 第二步 第四步
for(初始表达式值;条件表达式;更新表达式值){
// 第三步
//循环体
}
循环要素:
1、记录循环次数;var i=0;
2、循环的条件; i<10;
3、修改循环条件表达式;i++;
4、循环的语句;console.log(“i love you”);
//输出:100次“i love you”
for(let i=0; i<100; i++){
console.log(‘i love you’);
}
2.1. 状态分支switch语句
switch(表达式){
case 表达式1:
语句1;
break;
case 表达式2:
语句2; …
break;
case 表达式n:
语句n;
break;
default:
语句n+1;
break;
}
switch语句:“如果switch中的表达式等于case 后面的个值(value),则执行后面的语句,截止break;或switch的右花括号(})”。
default:默认语句,如果switch中的表达式与case后面的值都不同等,那么默认执行default后面的语句,default不是必须的。
break:关键字会导致代码执行流跳出switch语句。
switch与if类似,但是switch比较适合用于对某个状态值的判断,而if则是针对稍复杂的判断,但是其实switch与if可以相互转换。