流程控制

流程控制介绍

程序的三种基本结构

顺序结构:从上到下执行的代码就是顺序结构(程序默认就是由上到下顺序执行的)

分支结构:根据不同的情况,执行对应代码

循环结构:重复做一件事情

分支结构

  1. 、if语句

if 语句 - 只有当指定条件为 true 时,使用该语句来执行代码

if...else 语句 - 当条件为 true 时执行代码,当条件为 false 时执行其他代码

if...else if....else 语句- 使用该语句来选择多个代码块之一来执行

语法格式:

第一种

if (/* 条件表达式 */) {
 // 执行语句
}
第二种
if (/* 条件表达式 */){
 // 成立执行语句
} else {
 // 否则执行语句
}    
第三种
if (/* 条件1 */){
 // 成立执行语句
} else if (/* 条件2 */){
 // 成立执行语句
} else if (/* 条件3 */){
 // 成立执行语句
} else {
 // 最后默认执行语句
}

  1. 三元运算符

表达式1 ? 表达式2 : 表达式3

是对if……else语句的一种简化写法

  1. switch语句

switch 语句 - 使用该语句来选择多个代码块之一来执行

语法格式:

switch (expression) {
 case 常量1:
   语句;
   break;
 case 常量2:
   语句;
   break;
 case 常量3:
   语句;
   break;
 …
 case 常量n:
   语句;
   break;
 default:
   语句;
   break;
}

break可以省略,如果省略,代码会继续执行下一个case。

default 关键词来规定匹配不存在时做的事情。

switch 语句在比较值时使用的是全等操作符, 因此不会发生类型转换(例如,字符串'10' 不等于数值 10)

  1. 分支结构总结

if语句和switch语句的区别:

if语句:

表达式的结果为boolean类型。常用于区间判断

switch语句:

switch case 使用严格比较(===),值必须与要匹配的类型相同,只有操作数属于同一类型时,严格比较才能为 true。在以下这个例子中,x 将不匹配。

能用switch语句实现的就一定可以使用if实现,但是反之不一定,如果是区间范围就采用if,如果是等值判断使用switch

布尔类型的隐式转换

If语句会把后面的值隐式转换成布尔类型

转换为true :  非空字符串  非0数字  true  任何对象

转换成false : 空字符串  0  false  null  undefined

循环结构

在javascript中,循环语句有三种,while、do..while、for循环。

while语句

while 循环会在指定条件为真时循环执行代码块。

基本语法:

// 当循环条件为true时,执行循环体,
// 当循环条件为false时,结束循环。
while (循环条件) {
 //循环体    
}

do...while语句

do..while循环和while循环非常像,二者经常可以相互替代,但是do..while的特点是不管条件成不成立,都会执行一次。

基础语法:

do {
 // 循环体;
} while (循环条件);

for语句

while和do...while一般用来解决无法确认次数的循环。for循环一般在循环次数确定的时候比较方便

for循环语法:

// for循环的表达式之间用的是;号分隔的,千万不要写成,
for (初始化表达式1; 判断表达式2; 自增表达式3) {
 // 循环体4
}

上一篇:switch


下一篇:switch case时连写常规判断表达式的错误 case和if并用