循环的目的:
在实际问题中,有许多具有规律性的重复操作,因此在程序中要完成这类操作就需要重复执行某些语句
在js中主要由三种类型的循环语句:
1、for循环
2、while循环
3、do…while循环
for循环
在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句
语法结构
for (初始化变量;条件表达式;操作表达式){
循环体
}
初始化变量:用var声明的一个普通变量,通常作为计数器使用
条件表达式:用来决定每一次循环是否继续执行,就是终止条件
操作表达式:每次循环最后执行的代码
举个栗子:
//执行10次Hello
for (var i=1;i <=10;i++){
console.log('Hello');
}
执行思路:
首先值型里面的计数器变量 var i=1 但是这句话在for循环里面只执行一次,然后到 i<=100 来判断是否满足条件,如果满足条件就去执行循环体,不满足则退出循环,最后执行i++,i++表示递增 这样第一轮循环结束,接下来返回 i<=100 开始新的循环,如果满足调酒就去执行循环体,不满足条件则退出循环
效果如下:
//求1~100内所有数字的和
var sum=0;
for (var i=0;i<=100;i++){
sum+=i;
}
console.log(sum);
效果图如下:
//求1~100之间所有能被3整除的数之和
var sum=0;
for (var i=1;i<=100;i++){
if (i%3==0){
sum+=i;
}
}
console.log(sum);
效果图如下:
断点调试:
断点调试是指自己在程序的某一行设置- 一个断点 ,调试时,程序运行到这一行就会停住,然后你可以一步-步往下调试 ,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码行即显示错误,停下。
断点调试可以帮我们观察程的运行过程
浏览器中按F12–> sources -->找到需要调试的文件->在程序的某- -行设置断点
Watch:监视,通过watch可以监视变量的值的变化,非常的常用。
F11:程序单步执行,让程序-行-行的执行,这个时候,观察watch中变量的值的变化。
双重for循环
在很多情况下,单层的for循环并不能满足我们的需求,此时就可以通过循环嵌套来实现
循环嵌套:是指在一个循环语句中再定义一个循环语句的语法结构
语法结构:
for (外层初始化变量;外层条件表达式;外层操作表达式) {
for (内层初始化变量;内层条件表达式;内层操作表达式){
执行语句;
}
}
举个栗子:
//打印五行五列星星
var str="";
for (var i=1;i<=5;i++){
for(var j=1;j<=5;j++){
str+='⭐';
}
str+='\n';
}
alert(str);
效果图如下:
//打印倒的星星
var str='';
for (var i=1;i<=10;i++){
for (var j=i;j<=10;j++){
str+='⭐';
}
str+='\n';
}
alert(str);
效果图如下:
//打印乘法表
var str='';
for (i=1;i<=9;i++){
for (j=1;j<=i;j++){
str+=j + '×' + i + '=' + i*j + '\t';
}
str+='\n';
}
console.log(str);
效果图如下:
while循环
while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。
语法格式:
while (条件表达式){
循环体
}
执行思路:
先执行条件表达式,如果结果为true,则执行循环体代码;如果为false,则退出循环,执行后面的代码,然后执行循环体,最后循环体代码执行完毕后,程序会继续判断执行条件表达式,如果条件仍未true,则会继续执行循环体,直到循环条件为false时,整个循环过程才会结束
举个栗子:
var say=prompt('你是猪吗?');
while (say!=='是'){
say=prompt('你是猪吗?');
}
alert('你是🐖');
效果图如下:
他会一直弹出,直到输入上面指定的内容
do…while循环
do…while语询其实是while语句的一个变体。该循环会先执行次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。
语法格式:
do {
//循环体代码 - 条件表达式为true时重读循环体代码
}while (条件表达式);
执行思路:
先执行一次循环体代码
再执行条件表达式,如果结果为true,则继续执行循环体代码,如果为false,则退出循环,继续执行后面
先执行循环体,再判断,do…while循环语句至少会执行一次循环体代码
举个栗子:
var i=1;
do{
console.log('Hello');
i++;
}while (i<=10)
效果图如下:
continue关键字
continue关键字用于立即跳出本次循环,继续下一次循环
举个栗子:
for (var i=1;i<=5;i++){
if (i == 3){
continue;
}
console.log('这是第'+i+'次循环');
}
效果图如下:
break关键字
break关键字用于立即跳出整个循环
举个栗子:
for (var i=1;i<=5;i++){
if (i==3){
break;
}
console.log('这是第'+i+'次循环');
}
效果图如下: