在JS中有三种循环体系,分别是do while 、while和for循环。
一、do while循环
在do while循环语句中,不管如何都会先执行一遍do{ }里面的代码,然后再条件判断。
do{
//条件满足的代码,先执行一遍
}while(条件)
我就直接拿例子演示:如输出100以内的偶数
var i = 1; //声明变量
do {
i++; //变量自增
if (i % 2 == 0){//执行语句
document.write(i + "<br>");
}
} while (i <= 100);//条件判断
当我们的判断条件一直满足时,这个循环就可以无限循环,无限循环在我们应用中有可能用到,当我们也不能让他一直循环下去,这样对电脑有很大的负担,所以在循环中我们可以用break跳出循环,这一点和switch中的分支条件满足后跳出分支是一样的意思。在循环中还有continue用于跳过本次循环,比如上面的例子我们可以这样来写:
var i = 1; //声明变量
do {
i++; //变量自增
if (!(i % 2 == 0)){//执行语句
continue;
}else{
document.write(i + "<br>");
}
} while (i <= 100);//条件判断
二、while循环
while 和do while 有所不同的是,while是先进行条件判断,如果条件满足就进入循环执行里面的语句,如果判断条件不成立,就不会进入循环。
例如:输出3位的水仙花数
var num = 2;
while (num<1000) {
var a = num % 10;//求个位数
var b = parseInt(((num / 10) % 10));//求十位数
var c = parseInt(num / 100);//求百位数
if(num == a * a * a + b * b * b + c * c * c){//值相等时输出
document.write(num + "<br>");
}
num++;
}
三.for循环
for循环有三个要素:
for(声明;判断条件;自增量){
//声明变量是不一定要在for()里面,也可以在外面声明
//如果不写判断条件不写,或者写true和其他真值就可以进入死循环;可以用break退出循环
//自增量可以写在{}里
}
例如:用for循环输入水仙花数
for(var i = 2;i<1000;i++) {
var a = i % 10;
var b = parseInt(((i / 10) % 10));
var c = parseInt(i / 100);
if(i == a * a * a + b * b * b + c * c * c){
document.write(i + "<br>");
}
}
for循环的嵌套使用
什么是for循环的嵌套,就是在for循环里面在套一个或者多个for循环,当然下面的for循环里还能再写for循环,这就是for循环嵌套使用,我们用到的比较常见的可能就是两层或者三层的for循环。
例如我们要打印99乘法表,这里我们就可以用两层for循环。
for(var i=1;i<10;i++){
for(var j=1;j<=i;j++){
document.write(j+"*"+i+"="+j*i+" ");
/*第一次循环时i=1,满足条件进入里层循环,j=1,j<=i,所以也满足条件,
在页面输输出一次(j+"*"+i+"="+j*i+" ")也就是 1*1=1,j++之后等于2,不满足j<=i,退出
里层循环,i++这时i=2,满足条件进入里层循环,这时j还是从1开始j<=i,满足条件输出1*2=2,
j++等于2 满足j<=i,输出2*2=4,以此类推得出99乘法表。l
*/
}
document.write("<br>");/*里层循环每执行完一次(这里的执行完是当里层循环条件不
在满足时才算完成一次)换行*/
}