循环的目的
在实际问题中,许多具有规律的重复操作,因此在程序中要完成这类操作就需要重复执行某些语句
JS中的循环
在程序中,一组被重复执行的语句称之为循环体,能否继续重复执行,取决于循环的终止条件,由循环体及循环的终止条件组成的语句,被称为循环语句
for 循环(重点)
for循环主要用于把某些代码循环若干次,通常跟计数有关系
for(var i = 1 ;i <= 100; i++){
console.log('你好');
}
//1.首先执行里面的计数器变量 var = 1 但是这句话在for 里面只执行一次 index
//2.去 i <= 100来判断是否满足条件 如果满足条件 就去执行 循环体 不满足条件退出循环
//3.最后去执行 i ++ i++是单独写的代码 递增 第一轮结束
//4.接着去执行 i <= 100 如果满足条件 就去执行循环体
for 循环重复执行不同的代码
因为有计数器i 的存在 i每次循环都会变化
//我们想要输出1个人 1~100岁
for(var i =1;i <= 100;i++){
console.log('您今年'+i+'岁了');
}
//一行打印5个星星的例子
var str = '';//追加字符串的方式使求出来的按序列排列
for(i = 1;i <= 5;i ++){
str = str +'★'
}
console.log(str)//★★★★★
双重for循环
循环嵌套 是指在一个循环语句中再定义一个循环语句的语法结构 ,例如在for循环语句中,可以再嵌套一个 for 循环 ,这样的for循环语句我们称之为双重for循环
for (外层初始化变量;外层的条件表达式; 外层的操作表达式){
for(里层的初始化变量; 里层的条件表达式; 里层的操作表达式){
//执行语句
}
}
我们可以吧里面的循环看做是外层的循环语句
外层循环,循环一次,里面的循环执行全部
//九九乘法表
var str = '';
for(var i = 1;i <= 9;i++){
for(var j =1; j <= i;j++){
str += j + '×' + i +'=' + i*j + '\t';
}
str+='\n';
}
console.log(str)
for循环的小结
for循环可以重复执行某些相同的代码
for循环可以重复执行些许不同的代码,因为我们有计数器
for循环可以重复执行某些操作,比如运算符加法操作
随着需求增加,双重for循环可以做更多、更好看的效果
双重for循环,外层循环一次,内存for循环全部执行
for循环是循环条件和数字直接相关的循环
分析要比写代码更重要
一些核心算法想不到,但要学会,分析他的执行过程
举一反三,自己经常总觉,做一些相似案例
while 循环
while 语句可以在条件表达式为真的前提下,循环执行指定的一段代码,直到表达式不为真时结束循环
while(条件表达式){
//循环语句
}
思路:
当条件表达式为true 则执行循环体 否则 退出循环
do......while 循环
是while语句的一个变体,该循环会先执行一次代码块,然后对条件表达式进行判断,如果条件为真,就会重复执行循环体,佛则退出循环
do {
//循环体
} while (条件表达式)
跟while不同的地方在于do while 先执行一次循环体 再判断条件
如果条件表达式结果为真,则继续执行循环体,否则退出循环体
至少会执行一次循环体
do{
var message = prompt('你爱我吗');
}while (message !== '我爱你');
alert('我也爱你')
循环小结
JS 中 循环有for 、while 、do while
三个循环很多情况都可以互相替代使用
如果是用来计数,跟数字相关的,三者使用基本相同,但是我们更喜欢用for
while 和 do while 可以做更复杂的判断条件,do while 先执行一次,再判断执行
while 和 do while 执行次数不一样 ,do while 至少执行一次循环体 而while可能一次也不执行
实际工作中,我们更常用for 循环语句 它写法更简洁直观,所以这个要重点学习
continue
continue 关键字是立即跳出本次循环,继续下一次循环(本次循环中 continue 之后的代码会少执行一次)
//求一个人吃五个包子 吃到第三个的时候不吃了 直接吃第四个包子
for(i =1;i <= 5;i++ ){
if(i ==3){
continue;//只要遇见continue就退出本次循环 直接跳到i++上
}
console.log('我正在吃第' + i + '个包子')
}
break 关键字
break 关键字用于立即跳出整个循环(循环结果)
//退出整个循环
//求吃到第三个苹果是 发现半只虫子 就不吃了
for(var i = 1;i <= 5;i++){
if(i == 3){
break;
}
console.log('吃了' + i + '个苹果');
}