js流程语句分为单行语句和复合语句;用花括号包含的语句集合叫做复合语句,一对花括号表示一个复合语句,处理的时候可以当作一条单行语句来对待,复合语句一般也被称为代码块
选择语句:
1.if语句:if(条件表达式1){代码段1}else if(条件表达式2){代码段2}else{代码段3}
判断条件1为true则执行代码段1,为false则跳过语句块1并检测条件2,如果所有表达式的值均为false则执行else后的语句;结构复杂可嵌套,可测试多个表达式,表达式的值具有线性特征,表达式的值是动态的,适用于任意类型的数据,可处理复杂的逻辑关系。
var box = 100;
if(box >= 50){
alert('甲');
}else if(box >= 90){
alert('乙');
}else if(box >= 80){
alert('丙');
}else if(box >= 70){
alert('丁');
}else if(box >= 60){
alert('及格');
}else{
alert('不及格');
}
注意:if小写,大写字母(IF)会出错
2.switch语句:switch(条件表达式){case 常量1:语句; break;case 常量2:语句; break;…case 常量n:语句; break;default:语句;}
注意:case有几个都行,default可以没有。当case1~n都不满足的时候,则default。default并不一定要在最后;Switch必须赋初始值,值与每个case值匹配。满足执行该 case 后的所有语句,并用break语句来阻止运行下一个case。如所有case值都不匹配,执行default后的语句
var box = 1;
switch(box){ //switch(box)box就是要比较的变量
case 1: //case1:相当于if语句里的(box == 1),如果box是1的话
alert('one');
break; //break中途退出switch语句,防止穿透
case 2:
alert('two');
break;
case 3:
alert('three');
break;
default: //相当于if语句里的else
alert('出错');
}
注意:
1)、js的switch语句类型可以是js支持的任何类型(数组和对象除外)
2)、case后面的数据类型可以任意(数组和对象除外)
3)、break作用是跳出整个switch语句
4)、如果没有匹配的则执行default
循环语句:
1.while:while(条件表达式){循环执行代码段},
流程:先判断表达式的值,为true循环执行代码段,为false退出循环体;
var box = 10;
while(box <= 5){ //先判断,再运行的循环体
alert(box);
box++;
}
2.do-while:do{循环执行的代码段}while(条件表达式),先执行循环体内代码段再进行判断,为true则重复执行代码段,为false则退出循环体,一般用于一个动作至少要被执行一次时;
var box = 1;
do{ //先运行,再判断的循环体
alert(box); //打印1
box++; //box=2
}while(box <= 5); //判断2 <=5,再运行alert语句
//当while判断为false的时候,退出循环,当while判断为true的时候,执行循环。如果条件一开始不满足条件,至少会执行一次。
3.for:for(循环变量=初值;循环条件;递增/递减计数器){循环代码段},用循环变量初始值和循环条件相比较确定返回值,返回值为true执行循环体,返回值false则退出循环体;for-in:for(声明变量in对象){代码段},枚举对象属性,循环输出的属性顺序不可预知,对象的值不能是null或undefined
for (var box=1; box<=10; box++){
alert(box);
box++;
if(box == 5)break; //break语句会立即退出循环,强制继续执行循环体后面的语句
if(box == 7)continue; //continue语句退出当前循环,继续后面的循环
}//第一步,声明变量box=1;第二步,判断box<=10,如果返回true执行第三步,否则跳出循环;第三步,alert(box),输出box;第四步,box++累增2;第五步,判断box==5是否为true;第六步,判断box==7是否为true;第七步,去执行第二步。
4.for in循环语句
var box = {
'name':'危险',
'age':28,
'height':178
};
for(var x in box){
alert(x);
}
跳转语句:
1.return:终止函数值的运行并返回一个值,
2.break:终止整个循环,
3.continue:结束本次循环,接着去判断是否执行下次循环;
with语句
将代码的作用域设置到一个特定的对象中
var box={
name:"张三",
age:24,
sex:"男"
};
with(box){
var n=name;
var a=age;
var s=sex;
};
document.write(n+"<br/>");
document.write(a+"<br/>");
document.write(s);
运行的结果为:
张三
24
男
异常处理语句:
throw-主动抛出异常,
try-指明需要处理的代码段,
catch-捕获异常,
finally-后期处理