第二章 流程控制
★前加与后加
++1和1++不参与其它运算的时候结果对我们来说是一样的。
赋值与自加的顺序不同。
若参与表达式:
++1:
html
let a = b + ++n
相当于:
let a = b + (n = n + 1)
1++:
let a = b + n++
相当于:
let a = b + n, n = n + 1
三元表达式
三层结构:
第一层: 问号之前
第二层: 问号后(结果1);
第三层:冒号后(结果2);
switch
js
switch () {
case ():
xxx
break;
default:
xxx
}
需要注意的是,当主判断为true时,即无条件执行switch语句。相当于if
switch(true) {
case():
xxx
break;
default:
xxx
}
while
判断表达式可以为多个条件!
while (i-- !=0) {
xxx
}
do while:
do{
xxx
} while() {
}
先执行do里的程序再执行while循坏里的语句。
do里的语句很多为赋值语句。
continue
continue是跳过当前循环,直接进入下一个循环。
★label标签
任何语句中都可以添加label标签,标签起到定向的作用。
(蛮有用的)
for in & for of
for in遍历,取索引。
取索引的时候,通过方法调取的话需要用[]的形式
js
for (const key in grade) {
console.log(grade[key]);
}
for of 遍历,取值。