跟if语句很像,都要满足小括号路的
条件为true
才会
进入循环体
执行代码
while大括号里代码执行完后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,**直到括号内条件不满足,即跳出
要不要循环,取决与条件的真假
如,我们运行相同的代码输出5次(以前写5个输出“我学的很棒”),现在的做法是1为起始值,5为结束值,但刚开始i=1,必须用变化量,这个1++才等于2,再++等于3,否则1永远小于5,永远死循环
let i = 1 // 起始值
while (i < = 3) { //终止条件
document.write('我会循环三次') //循环体
i++ //变量的变化量
let end = +prompt('请输入次数')
let i = 3
while (i < = end) {
document.write(`我会循环第${end}次 <br>`)
continue和break的区别
continue:退出本次循环,一般用于排除或者跳过某一选项的时候,可以使用continue
break:退出整个循环,一般用于结果已经得到,后续循环不需要时使用
循环结束:
break:退出整个循环
continue:结束本次循环,继续下次循环
while (true) {
if(条件) {
break
如,打印5句话
// let i = 1
// while (i <= 5) {
// console.log(`这是第${i}次循环`)
// i++
// 当我循环到第三次时,退出循环
let i = 1
while (i <= 5) {
if (i === 3) {
break // 退出整个循环
console.log(`这是第${i}次循环`)
console.log('------------------')
let i = 1
while (i <= 5) {
if (i === 3) {
continue // 结束当前循环,如在第3次循环时会跑到上一步进行判断,当我这个循环结束完后,不再执行下一行代码,3一直<=5,一直死循环,所以要把i++放上面
console.log(`这是第${i}次循环`)
注: continue 结束当前本次循环,继续下一轮循环。如在第3次循环时 continue会继续跑到上一步进行判断,当我这个循环结束完后,不再执行下一行代码,而3一直<=5,一直死循环,所以要把i++放上面
for循环-基本使用 (常用必须掌握)
for (变量起始值; 终止条件; 变量变化量) {
// 循环体
// 利用for循环输出三句话 月薪过万
for (let i = 1; i <= 3; i++) {
document.write("月薪过万 <br>");
} 起始值永远只执行一次,let i = 1执行完-第二步判断-循环体-i++,又继续判断(后几步三角恋关系)
作用:重复执行代码
好处:声明起始值、循环条件、变化值写在一起,一目了然,常用循环形式
for循环-遍历数组(重点)
从第一个循环到最后一页
for循环最大价值:循环数组
// 遍历数组,必须从0开始,因为数组索引从0开始 arr.length = 6
for (let i = 0; i < arr.length; i++) {
console.log(i)
for循环-退出循环
当for循环遇到continue,直奔i++
continue:退出本次循环,本次循环中continue下面的语句不再执行
break: 退出整个循环,结束循环
for (let i = 1; i <= 5; i++) {
if (i === 3) {
continue
console.log(i)
document.write(i)
} //当i === 3时,不再执行下面两句打印输出,而是直接跳到i++
for (let i = 1; i <= 5; i++) {
if (i === 3) {
break //当i === 3时,直接退出整个循环
console.log(i)
while(true)来构造“无限”循环,需要使用break退出循环
for(;;)也可以来构造“无限循环”,同样需要使用break退出循环(没有开头和结尾,死循环)
for循环和while循环的区别
for循环:明确循环次数时 (比如说我就要循环多少次,我知道要循环的次数)
while循环:不明确循环次数时(比如做一些跟次数无关的额外操作,无限弹窗)
一系列循环优先考虑for
循环嵌套(难点)
一个循环再套一个循环,一般用在for循环里
for (外部声明记录循环次数的变量; 循环条件; 变化值) {
for (内部声明记录循环次数的变量; 循环条件; 变化值) {
外面的for执行一次,里面的for要执行所有次数,如里面执行3次,打印3句话,执行完后再到外面的变化值