循环
循环目的
在实际问题中,有许多具有规律性的重复操作,因此在程序中要完成这类操作就需要重复执行某些语句。
for循环
在程序中,一组被重复执行的语句被称为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,称之为循环语句。
-
语法结构:
for (初始化变量; 条件表达式; 操作表达式) {
// 循环体
}
-
for循环重复相同的代码
var num = prompt('请您输入次数');
for (var i = 1; i <= num; i++) {
console.log('我是真的真的很喜欢学习');
}
-
for循环重复不相同的代码
for循环还可以重复不同的代码,这主要是因为使用了计数器,计数器在每次循环中都会有变化。
for (var i = 1; i <= 100; i++) {
if (i == 1) {
console.log('她1岁啦!');
} else if (i == 100) {
console.log('百岁老人吖');
} else {
console.log('这个人今年' + i +'岁了');
}
}
-
for循环重复某些相同操作
for循环因为有了计数器的存在,我们还可以重复的执行某些操作,比如做一些算术运算。
// for 循环重复某些相同的操作
// 求1-100之间的整数累加和
var sum = 0; //求和的变量
for (var i = 1; i <= 100; i++) {
// sum = sum + i;
sum += i;
}
console.log(sum);
双重for循环
-
双重for循环概述
很多情况下,单层for循环并不能满足我们的需求,比如我们要打印一个5行5列的图形,打印一个倒直角三角形等,此时就可以通过循环嵌套来实现。
循环嵌套是指在一个循环语句中再定义一个循环语句的语法结构,例如再for循环语句中,可以再嵌套一个for循环,这样的for循环语句我们称之为双重for循环。
- 语法结构
for (外层的初始化变量; 外层的条件表达式; 外层的操作表达式) {
for (里层的初始化变量; 里层的条件表达式; 里层的操作表达式) {
// 执行语句
}
}
-
小结
- for循环可以重复执行某些相同的代码‘;
- for循环可以重复执行些许不同的代码,因为我们有计数器;
- for循环可以重复执行某些操作,比如算术运算符加法操作;
- 随着需求增加,双重for循环可以做更多,更好看的效果;
- 双重for循环。外层循环一次,内层for循环全部执行;
- for循环是循环条件和数字直接相关的循环;
- 分析要比写代码更重要。。
while循环
while循环可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环。while语句的语法结构如下:
while (条件表达式){
//循环条件
}
执行思路:
- 先执行条件表达式,结果为true,则执行循环体代码;如果为false,则退出循环,执行后面代码;
- 执行循环体代码;
- 循环体代码结束完毕后,程序会继续判断执行条件表达式,如条件仍然为true,则会继续执行循环体,直到循环体条件为false时,整个循环过程才会结束。
do while 循环
do while语句其实是while语句的一个变体。该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,否则退出循环。
do while语句的语法结构如下:
do {
// 循环体
} while (条件表达式)
执行思路:
- 先执行一次循环体代码;
- 再执行条件表达式,如果结果为true,则继续执行循环体代码,如果为false,继续执行后面代码。
注意:先执行循环体,再判断,do while 循环语句至少执行一次循环体代码。
循环小结:
- JS中有循环有for,while,do while;
- 三个循环很多情况下都可以相互替代使用;
- 如果是用来计次数,跟数字相关的,三者使用基本相同,但是我们更喜欢用for;
- while和do while可以做更复杂的判断条件,比for循环灵活一些;
- while和do while执行顺序不一样,while先判断后执行,do while先执行,再判断
- while和do while执行次数不一样,do while 至少会执行一次循环体,而while可能一次也不执行。
- 实际工作中,for更常用。
continue break
-
continue关键字
continue关键字用于立即跳出本次循环,继续下一次循环(本次循环中continue之后的代码就会少执行)
-
break关键字
break关键字用于立即跳出整个循环(循环结束)