Javascript自学笔记(三)

流程控制语句
- 程序都是自上向下的顺序执行的, 通过流程控制语句可以改变程序执行的顺序,或者反复的执行某一段的程序。
- 分类:
1.条件判断语句
2.条件分支语句
3.循环语句

条件判断语句也就是if语句。它可以让程序可以选择执行路径。
if语句有三种三种形式:
语法一:
if(条件表达式){
语句…
}
执行流程:
if语句执行时,会先对条件表达式进行求值判断,
如果值为true,则执行if后的语句
如果值为false,则不执行

var a = 5, b = 3;
if(a>b){
	alert('a大于b');
}

语法二:
if(条件表达式){
语句…
}else{
语句…
}
- 执行流程:
if…else语句执行时,会对条件表达式进行求值判断,
如果值为true,则执行if后的语句
如果值为false,则执行else后的语句

var a = 5, b = 3;
if(a>b){
	alert('a大于b');
}else{
	alert('a小于b');
}

语法三:
if(条件表达式){
语句…
}else if(条件表达式){
语句…
}else{
语句…
}
- 执行流程
- if…else if…else语句执行时,会自上至下依次对条件表达式进行求值判断,
如果判断结果为true,则执行当前if后的语句,执行完成后语句结束。
如果判断结果为false,则继续向下判断,直到找到为true的为止。
如果所有的条件表达式都是false,则执行else后的语句

var a = 5, b = 3;
if(a>b){
	alert('a大于b');
}else if(a=b){
	alert('a等于b');
}else{
	alert('a小于b');
}

switch语句
语法:
switch(条件表达式){
case 表达式:
语句…
break;
case 表达式:
语句…
break;
case 表达式:
语句…
break;
default:
语句…
break;
}

执行流程:
switch…case…语句在执行时,会依次将case后的表达式的值和switch后的表达式的值进行全等比较,
如果比较结果为false,则继续向下比较。如果比较结果为true,则从当前case处开始向下执行代码。
如果所有的case判断结果都为false,则从default处开始执行代码。

//判断一个变量是否是字符串,如果不是则转为字符串返回,如果是字符串则直接返回当前的值。
var a = 'abc';
switch(typeof a){
	case 'number' :
		return a.toString();
		break;
	case 'string':
		return '"' + a + '"';
		break;
	default:
		return String(a);
		
}

循环语句
- 通过循环语句可以反复执行某些语句多次
- while循环
- 语法:
while (条件表达式) {
语句…
}
- 执行流程:
while语句在执行时,会先对条件表达式进行求值判断,
如果判断结果为false,则终止循环;
如果判断结果为true,则执行循环体;
循环体执行完毕,继续对条件表达式进行求值判断,依此类推;

ex:
			var a = 0;
			while (a<5) {
				console.log(a);              //0~4
				a++;
			}

do…while循环
- 语法:
do{
语句…
}while(条件表达式)
- 执行流程
do…while在执行时,会先执行do后的循环体,然后在对条件表达式进行判断,
如果判断判断结果为false,则终止循环。
如果判断结果为true,则继续执行循环体,依此类推。

			var a = 10;

			do{
				console.log(a);     //10  至少执行一次
			}while (a>20) {
				a++;
			}

do…while 和 while的区别:
while:先判断后执行
do…while: 先执行后判断
- do…while可以确保循环体至少执行一次。
for循环
- 语法:
for(初始化表达式 ; 条件表达式 ; 更新表达式){
语句…
}
- 执行流程:
首先执行初始化表达式,初始化一个变量,
然后对条件表达式进行求值判断,如果为false则终止循环
如果判断结果为true,则执行循环体
循环体执行完毕,执行更新表达式,对变量进行更新。
更新表达式执行完毕重复。

ex:
//简单的for循环   求100以内能被7整除的数字。
for(var i =0; i<100; i++) {
	if(i%7==0){
		console.log(i);
	}
}

补充: for…in 循环
for…in 循环用来方便的遍历枚举对象的属性成员。

ex:
var Obj = {
				x : 1,
				y : 2,
				'name' : 'BanesLi',
				'age' : 26
			}
			for(o in Obj) {
				console.log(Obj[o]);     //   1,2,BanesLi,26
			}

猜你喜欢

转载自blog.csdn.net/Banies_Li/article/details/84196401