流程控制:
1.顺序控制:从上往下执行就是顺序结构
2.分支结构:根据不同的情况,执行不同的代码
3.循环控制:重复做一件事
分支结构:
if判断语句
if() 只有括号里的判断语句为true时才执行指定代码
if (/* 条件表达式 */) {
// 执行语句
}
if...else() 当条件为 true 时执行代码,当条件为 false 时执行其他代码
if (/* 条件表达式 */){
// 成立执行语句
} else {
// 否则执行语句
}
if...else if....else 语句- 使用该语句来选择多个代码块之一来执行
if (/* 条件1 */){
// 成立执行语句
} else if (/* 条件2 */){
// 成立执行语句
} else if (/* 条件3 */){
// 成立执行语句
} else {
// 最后默认执行语句
三目运算符:
表达式1?表达式2:表达式3
var a = 1;
a < 10? console.log("a大于10") : console.log("a小于10")
switch语句:
switch (expression) {
case 常量1:
语句;
break;
case 常量2:
语句;
break;
case 常量3:
语句;
break;
… case 常量n:
语句;
break;
default:
语句;
break;}
break可以省略,如果省略,代码会继续执行下一个case。
default 关键词来规定匹配不存在时做的事情。
switch 语句在比较值时使用的是全等操作符, 因此不会发生类型转换(例如,字符串'10' 不等于数值 10);
分支结构总结
if语句和switch语句的区别:
if语句:
表达式的结果为boolean类型。常用于区间判断
switch语句:
switch case 使用严格比较(===),值必须与要匹配的类型相同,只有操作数属于同一类型时,严格比较才能为 true。在以下这个例子中,x 将不匹配。
能用switch语句实现的就一定可以使用if实现,但是反之不一定,如果是区间范围就采用if,如果是等值判断使用switch
布尔类型的隐式转换
If语句会把后面的值隐式转换成布尔类型
循环结构:
在javascript中,循环语句有三种,while、do..while、for循环。
while语句
while 循环会在指定条件为真时循环执行代码块
while (循环条件) {
//循环体
}
do...while语句:
do..while循环和while循环非常像,二者经常可以相互替代,但是do..while的特点是不管条件成不成立,都会执行一次。
do {
// 循环体;
} while (循环条件);
for语句
while和do...while一般用来解决无法确认次数的循环。for循环一般在循环次数确定的时候比较方便
// for循环的表达式之间用的是;号分隔的,千万不要写成,
for (初始化表达式1; 判断表达式2; 自增表达式3) {
// 循环体4
}