3.流程控制

198 阅读3分钟

流程控制

在任何一门程序设计语言中,都需要支持满足程序结构 化所需要的三种流程控制:

  • 顺序控制
  • 分支控制(条件控制)
  • 循环控制

顺序控制:在程序流程控制中,最基本的就是顺序控制。程序会按照自上而下的顺序执行。

分支流程控制

  • if语句
  • switch语句

if语句

分类:单分支,双分支,多分支,分支嵌套

// 单分支
if (条件表达式){
   代码段
}
// 双分支
if (条件表达式) {
    代码段1 
}else {
   代码段2
}
// 多分支
if (条件表达式1){
    代码段1
} else if (条件表达式2){
   代码段2
} else if (条件表达式3){
   代码段3
}else{
    代码段4
}

()中可以是一个值,也可以是一个表达式

Switch

switch (变量){
  case1: 
	代码段;
       break;
  case2: 
	代码段;
       break;
  ...
  default: 
	代码段;
}

()只能是变量或值,不能是表达式

循环控制语句

while语句

While 循环会在指定条件为真时循环执行代码块。 While循环,先进行条件判断,再执行循环体的代码

while (条件表达式){
	循环体
}

注意:当前循环中,如果不满足条件,一次都不会执行

do......while

do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后如果条件为真的话,就会重复这个循环。 do while循环,先执行循环体代码,再进行条件判断。至少执行一次循环体的代码。

do {
    代码段
} while (条件表达式)

注意:当前循环中,代码至少执行一次

for

for (循环变量初始化表达式; 循环条件表达式; 更新循环变量表达式) {
    循环体
}

注意:

  1. 循环变量可以定义在for 循环结构体外
  2. 没有更新循环变量会变成死循环
  3. 循环条件中的‘;’不能省略

案例:计算1+2+...100=5050的和

var sum=0
for(var i=1;i<=100;i++){
	sum += i
		if(i<100){
			document.write(i+'+');
		}else{
		document.write(i+'='+sum)
	}
}
console.log(sum)

案例二:循环输出table表格,创建四行5列的表格

document.write('<table border="1">')
			for(var j=1;j<=4;j++){
				document.write('<tr>')
					for(var i=0;i<=3;i++){
						document.write('<td>@</td>');
					}
				document.write('</tr>')
			}
document.write('</table>')

案例三:打印一个五行四列的表格(隔行换色)

案例四:点击显示一张图片,点击显示多张图片

案例五:判断数组中值哪些是数字类型

var arr = [ '100px', 'abc'-6, [], -98765, 34, -2, 0, '300', , function(){alert(1);}, null, document, [], true, '200px'-30,'23.45元', 5, Number('abc'), function(){ alert(3); }, 'xyz'-90 ];

案例六:循环实现金字塔效果

案例七:循环实现九九乘法表

案例八:循环实现阶梯效果

for...in

for (变量 in 对象) {
   代码段
}
  • for...in 语句用来遍历对象的每一个属性。每次都将属性名作为字符串保存在变量里
  • 在无法预知对象的任何信息,和循环次数的时候使用

跳转语句

continue

continue语句只能应用在循环中(while、do......while、for)语句中

用于中止本次循环,根据控制表达式还允许继续进行下一次循环。

var iNum = 0; 
for (var i=1; i<10; i++) {
	if (i % 5 == 0) {
		document.write(i);  
		continue;
	}
	iNum++;
}
alert(iNum);

break

break语句只能应用在循环(while、do......while、for)或switch语句中

break语句用于退出循环,阻止再次反复执行任何代码或者退出一个switch语句

for (var i=1; i<10; i++) {
	if (i % 5 == 0) {
		break;
	}
	iNum++;
}
alert(iNum);