1、循环语句
while
语法
while (条件表达式){
循环执行代码段
}
- 流程
- 判断条件表达式的值
- 当值为true时执行代码段
- 当值为false时退出循环体
- 特性
- 先判断条件,再执行循环代码
- 当条件不满足,循环一次也不执行
- 时机
- 一个动作被重复执行到满足摸个条件时
- do-while
- 语法
do{
循环代码段
}while(条件表达式)
- 流程
- 先执行循环体内的代码,再进行判断
- 如果表达式的值为true,则循环执行代码段
- 当表达式的值为false时退出循环体
- 特性
- 先执行循环代码段,再进行判断
- 循环体至少被执行一次
- 时机
- 希望一个动作至少被执行一次时
- for
- 语法
for(定义循环变量等于初始值;循环条件;递增/递减){
循环代码段
}
- 流程
- 用循环变量初始值与循环条件相比较,确定返回值
- 如果返回值为true则执行循环体
- 执行完一次后进行递增/递减运算
- 将运算结果与循环条件相比较
- 如果循环值为true则继续执行循环体;如果返回值为false则退出循环
- 时机
- 重复一个动作到一定次数
- for-in(遍历无序对象,例如对象属性集合等等)
- 语法
for(var 变量 in 对象){
代码段
}
- 作用
- 枚举对象属性
- 注意事项
- 循环输出的属性顺序不可预知
- 对象的值不能是null或者undefined
2、跳转语句
return 终止函数体的运行,并返回一个值
break 终止循环,不再进行判断
continue 结束本次循环,接着去判断是否可执行下次循环
3、选择语句
if
语法
if(条件表达式1){
代码段1
}else if(条件表达式2){
代码段2
}else{
代码段3
}
- 流程
- 判断条件1 如果返回值是true,则执行代码段1
- 如果条件表达式的值为false,则跳过代码段1,判断条件表达式2里面的是否为true
- 如果所有的条件表达式的值都是false,则执行else后面的代码段三
- 特性
- 结构复杂 可嵌套
- 可测试多个条件表达式
- 表达式的值具有线性特征
- 表达式的值是动态的
- 适应于任何类型的数据
- 可处理复杂的逻辑关系
- switch
- 语法
switch(条件表达式){
case 标签1:
代码段;break;
case 标签2:
代码段2;break;
//.....
default;
代码段n
}
- 流程
- 计算表达式的值,并与各标签相比较
- 若找到与之匹配的标签,则执行其后的代码段
- 若没有找到,执行default后面的代码段
- 格式
- case 标签为常量,可以是字符串或者数字
- case标签的值必须和条件表达式的值完全匹配(===)
- 特性
- 结构简洁 专为多重设计选择
- 仅可测试一条条件表达式
- 表达式的值具有离散性
- 表达式的值是固定的,不会动态变化
- 仅能应用整数,枚举,字符串等类型数据
- 仅能处理多个枚举型逻辑关系
4、异常处理
throw 主动抛出异常
try 指明需要处理的代码段
catch 捕获异常
finally 后续处理