for循环
JS中的循环
- for循环
- while循环
- do......while循环
for循环
在程序中,一组被重复执行的语句被称之为循环体,能否继重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句。
// 1、for 重复执行某些代码,通常跟计数有关系 // 2、for语法结构 for (初始化变量; 条件表达式; 操作表达式) { // 循环体 } // 3、初始化变量 就是用var声明的一个普通变量,通常用于作为计数器使用 // 4、条件表达式 就是用来决定每一次循环是否继续执行 就是终止的条件 // 5、操作表达式 是每次循环最后执行的代码,经常用于我们计数器变量进行更新(递增或者递减) // 6、代码体验 我们重复打印100句 你好 for (var i = 1; i <= 100; i++) { console.log('你好吗'); } // for循环的执行过程 // 1、首先执行里面的计数器变量 var i=1 但是这句话在for里面只执行一次 index // 2、去i<=100来判断是否满足条件,如果满足条件,就去执行 循环体 不满足条件退出循环 // 3、最后去执行i++ i++是单独写的代码,递增 第一轮结束 // 4、接着去执行i<=100 如果满足条件 就去执行 循环体 不满足条件退出循环 第二轮
①语法结构
断点调试:
断点调试是指自己在程序的某一行设置一个断点,调试时,程序运行到这一行就会停住,然后你可以一步一步往下调试,调试过程中可以看各个变量当前的值,出错的话,调试到出错的代码即显示错误,停下
断点调试可以帮我们观察程序的运行过程
浏览器中按F12-->sources-->找到需要调试的文件-->在程序的某一行设置断点
Watch:监视,通过watch可以监视变量的值的变化,非常的常用
F11:程序单步执行,让程序一步一步的执行,这个时候,观察watch中变量的值的变化
代码调试的能力非常重要,只有学会了代码调试,才能学会自己解决bug的能力。
②for循环重复相同的代码
// for循环可以执行相同的代码 for (var i = 1; i <= 10; i++) { console.log('我是谁'); } // 我们可以让用户控制输出的次数 var num = prompt('请您输入次数'); for (var i = 1; i <= num; i++) { console.log('我在干什么'); }
③for循环重复不相同的代码
for循环可以重复不同的代码,这主要是因为使用了计数器,计数器在每次循环过程中都会有变化。
// for 循环可以重复执行不同的代码 因为我们有计数器变量i的存在 i每次循环值都会变化 // 我们输出有1个人1~100岁 for (var i = 1; i <= 100; i++) { console.log('这个人今年' + i + '岁了'); } for (var i = 1; i <= 100; i++) { if (i == 1) { console.log('这个人今年1岁了,刚出生'); } else if (i == 100) { console.log('这个人今年100岁了,老了'); } else { console.log('这个人今年' + i + '岁了'); } }
④for循环重复某些相同操作
for循环因为有了计数器的存在,我们还可以重复的执行某些操作,比如做一些算术运算。
案例:求1-100之间所有整数的累加和
// for循环重复执行某些操作 // 求1~100之间的整数累加和 // 需要循环100次,我们需要一个计数器 i // 我们需要一个存储结果的变量 sum,但是初始值一定是0 // 核心算法:1+2+3+4...... sum=sum+i var sum = 0; //求和的变量 for (var i = 1; i <= 100; i++) { // sum = sum + i; sum += i; } console.log(sum);
// 1、求1~100之间所有数的平均值 需要一个sum 和的变量 还需要一个平均值average变量 var sum = 0; var average = 0; for (var i = 0; i <= 100; i++) { sum = sum + i; } average = sum / 100; console.log(average);
// 2、求1~100之间所有偶数和奇数的和 我们需要一个偶数和变量 even 还需要一个奇数 odd var even = 0; var odd = 0; for (var i = 1; i <= 100; i++) { if (i % 2 == 0) { even = even + i; } else { odd = odd + i; } } console.log('1~100之间所有的偶数和是' + even); console.log('1~100之间所有的奇数和是' + odd);
// 求1~100之间所有能被3整除的数字的和 var result = 0; for (var i = 1; i <= 100; i++) { if (i % 3 == 0) { result = result + i; } } console.log('1~100之间能够被3整除的数字的和是' + result);
案例:求学生成绩
// 弹出输入框输入总的班级人数(num) // 依次输入学生的成绩(保存起来score) // 此时我们需要用到for循环,弹出的次数跟班级总人数有关系 条件表达式i<=num // 进行业务处理:计算成绩。先求总成绩(sum),之后求平均成绩(average) // 弹出结果 var num = prompt('请输入班级的总人数'); //num总的班级人数 var sum = 0; //求和的变量 var average = 0; //去平均值的变量 for (var i = 1; i <= num; i++) { var score = prompt('请输入第' + i + '个学生的成绩'); sum = sum + parseFloat(score); } average = sum / num; alert('班级总的成绩是' + sum); alert('班级平均分是' + average);

// 一行打印五个星星 // console.log('☆☆☆☆☆'); /* for (var i = 1; i <= 5; i++) { console.log('☆'); } */ var str = ''; for (var i = 1; i <= 5; i++) { str = str + '☆'; } console.log(str);
浙公网安备 33010602011771号