js_循环

JavaScript 循环

什么是循环?

1
2
循环:一件事不停的做,循环去做同一件事
循环应该有结束的条件,循环应该有计数器(记录循环的次数)

for循环(计数器)

1
2
3
for(表达式1;表达式2;表达式3){
循环体;
}
执行过程:先执行一次表达式1,再判断表达式2,如果不成立,则直接跳出循环。如果表达式2成立,执行循环体的代码,结束后,调到表达式3,然后跳到表达式2,判断表达式2是否成立,不成立,则跳出循环。如果表达式2成立,则执行循环体,然后再跳到表达式3,再跳到表达式2,判断是否成立。。。。

注意:

1
2
1、在我们编写for循环后,程序就会将for循环执行完毕,不会中途离开循环。不过我们可能需要在for循环检查某些条件,一旦符合条件便强制离开循环,此时可以使用break语句来强制离开循环。
2、若for循环省略了初始化,条件表达式,增量表达式,就会变成for(,,),就会变成无限循环。
1
2
3
4
//打印10次,哈哈,我又变帅了
for(i=0;i<10;i++){
console.log("哈哈,我又变帅了");
}

for…in循环(没有计数器,)

专门设计给数组或者集合。不用事先知道数组或集合的大小,它会自动侦测,使用起来的变化较少,而且数组的长度可以通过Array对象的length属性来获取。

1
2
3
4
5
for(var 变量 in 数组名或集合名){
语句块;
[break;]
语句块;
}

数组或集合和变量可以用来存放数据,不同的是一个变量只能存放一个数据,而一个数组或集合可以存放多个数据。

1
2
3
4
5
6
7
8
9
10
<html>
<head><meta charset=utf-8></head>
<body></body>
<script>
var Student=new Array("小丸子","小于","小叶");
for(var i in Student){//i表示Student的下标
alert(Student[i]);
}
</script>
</html>

while循环

1
2
3
4
5
6
计数器:
var 计数器变量 =0;
while(循环的条件){
循环体;
计数器变量++;
}
执行过程:先判断条件是否成立,(条件的结果是true还是false),如果是false,那么循环的代码(while的大括号内的代码都不执行),反之就会执行循环体,然后再执行计数器变量+1,再到while的循环的条件判断是否成立,成立则继续执行循环体,否则跳出循环。。
1
2
3
4
5
6
/*请输出10次:哈哈!我又变帅了*/
var i=0;
while(i<10){
console.log("哈哈!我又变帅了"+(i+1));
i++;
}

do-while循环

1
2
3
do{
循环体;
}while();
执行过程:先执行一次循环体,判断条件是否成立,不成立,则跳出循环,成立,则执行循环体,再判断循环体是否成立,成立则急促执行循环体,否则,跳出循环。
1
2
3
4
5
6
//输出10次:哈哈,我又变帅了
var i=0;
do{
console.log("哈哈,我又变帅了");
i++;
}while(i<10);
1
2
3
4
5
6
7
8
9
//提示用户:您觉得我帅吗?请输入y/n,如果用户输入n,就会一直提示,如果用户输入y,则结束,并提示,您真有眼光!
var i=0;
do{
var str=prompt("您觉得我帅吗?(输入y/n)");
if(str=="y"){
console.log("您真有眼光!");
}
i++;
}while(str!="y");

总结:while和do-while

1
2
3
while循环:先判断,后循环。有可能一次循环都不执行。
do-while循环:先循环,后判断。至少执行一次循环体;
在编写循环的时候要避免无限循环。
1
2
3
4
//这是一个无限循环
do{
alert("hello");
}while(1);