1 循环语句
2 while
语法:
while (条件表达式) {
// 循环执行代码段
}
流程:
- 判断执行条件表达式的值
- 当值为true时循环执行代码段
- 当值为false时退出循环体
特性:
先检查条件,再执行循环
条件不满足则循环一次也不
时机:
一个动作被重复执行到满足某个条件时
3 do-while
do {
循环执行代码段
} while( 条件表达式 )
流程
- 先执行循环体内代码再进行判断
- 如果表达式的值为true,则重复执行代码段
- 如果表达式的值为false,则退出循环体
特性
先执行循环体,在进行条件判断
循环体内代码至少执行一次
时机
希望一个动作至少被执行一次时
4 for
for(循环变量=初值;循环条件;递增/递减计数器){
循环代码段
}
流程:
- 用循环变量初始值与循环条件相比较,确定返回值
- 如果返回值为true则执行循环体
- 执行完一次后进行递增/递减运算
- 将运算结果与循环条件相比较
- 如果返回值为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,如果返回值为true则执行代码段1
- 如果条件1的返回值为false则跳过句块1并检测条件2
- 如果所有表达式均为false则执行else后面的语句
特性:
结构复杂,可嵌套
可测试多个条件表达式
表达式的值是动态的
适用于任意类型的数据
可处理复杂的逻辑关系
12 switch
switch (expression) {
case label_1:
// statements_1
break;
default:
// statements_def
break;
}
流程:
- 计算表达式的值,并与各标签相比较。
- 若找到与之匹配的标签,则执行其后的代码段。
- 若没有找到与之匹配的标签则直接执行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)
}