1 循环语句

2 while

语法:
while (条件表达式) {
// 循环执行代码段
}
流程:

  1. 判断执行条件表达式的值
  2. 当值为true时循环执行代码段
  3. 当值为false时退出循环体

特性:
先检查条件,再执行循环
条件不满足则循环一次也不
时机:
一个动作被重复执行到满足某个条件时

3 do-while

do {
循环执行代码段
} while( 条件表达式 )
流程

  1. 先执行循环体内代码再进行判断
  2. 如果表达式的值为true,则重复执行代码段
  3. 如果表达式的值为false,则退出循环体

特性
先执行循环体,在进行条件判断
循环体内代码至少执行一次
时机
希望一个动作至少被执行一次时

4 for

for(循环变量=初值;循环条件;递增/递减计数器){
循环代码段
}
流程:

  1. 用循环变量初始值与循环条件相比较,确定返回值
  2. 如果返回值为true则执行循环体
  3. 执行完一次后进行递增/递减运算
  4. 将运算结果与循环条件相比较
  5. 如果返回值为true则继续执行循环体,如果返回值为false则退出循环体。

时机:
重复一个动作到一定次数时。

5 for-in

for(声明变量item in 对象){
代码段(item为对象属性)
}
作用:
枚举对象属性
注意事项:
循环输出的属性顺序不可预知
对象的值不能是null 或undefined

6 跳转语句

7 return

终止函数体的运行,并返回一个值

8 break

终止整个循环,不再进行判断

9 continue

结束本次循环,接着去判断是否执行下次循环

10 选择语句

11 if—else

if(条件表达式1){
代码段1
}else if(条件表达式2) {
代码段2
} else{
代码段3
}
流程:

  1. 判断条件1,如果返回值为true则执行代码段1
  2. 如果条件1的返回值为false则跳过句块1并检测条件2
  3. 如果所有表达式均为false则执行else后面的语句

特性:
结构复杂,可嵌套
可测试多个条件表达式
表达式的值是动态的
适用于任意类型的数据
可处理复杂的逻辑关系

12 switch

switch (expression) {
case label_1:
// statements_1
break;
default:
// statements_def
break;
}
流程:

  1. 计算表达式的值,并与各标签相比较。
  2. 若找到与之匹配的标签,则执行其后的代码段。
  3. 若没有找到与之匹配的标签则直接执行default之后的代码段

格式
case标签为常量,可以是字符串或数字
每个标签均以冒号:结束
虽然break与default为可选项,但为了逻辑清晰最好不要省略
case标签的值必须和条件表达式的值完全匹配
特性
结构简介,专为多重选择设计
仅可测试一条条件表达式
表达式的值具有离散型
表达式的值是固定的,不会动态变化的
仅能应用整数,枚举,字符串等类型数据
仅能处理多个枚举逻辑关系

13 异常处理语句

定义和用法
try/catch/finally 语句用于处理代码中可能出现的错误信息。
错误可能是语法错误,通常是程序员造成的编码错误或错别字。也可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。
try语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
finally 语句在 try 和 catch 之后无论有无异常都会执行。
注意: catch 和 finally 语句都是可选的,但你在使用 try 语句时必须至少使用一个。
提示: 当错误发生时, JavaScript 会停止执行,并生成一个错误信息。使用 throw 语句 来创建自定义消息(抛出异常)。如果你将 throw 和 try 、 catch一起使用,就可以控制程序输出的错误信息。

语法:
try {
tryCode - 尝试执行代码块
}
catch(err) {
catchCode - 捕获错误的代码块
}
finally {
finallyCode - 无论 try / catch 结果如何都会执行的代码块
}

实例1
在下面的例子中,我们故意在 try 块的代码中写了一个错字。
该实例本应该提醒”欢迎光临!”,但弹出的是拼写错误信息。
catch 块会捕捉到 try 块中的错误,并执行代码来处理它:

try {
adddlert(“欢迎光临!”); //alert()
} catch(err) {
document.getElementById(“demo”).innerHTML = err.message;
}

14 throw

主动抛出异常

15 try

指明需要处理的代码段

16 catch

捕获异常

17 finally

后期处理

18 with

with (object) {
statements
}

实例:
with (Math){
x = cos(3 PI) + sin (LN10)
y = tan(14
E)
}