接上day02
流程控制三大结构
循环结构
循环概念:重复做某件事情,就是循环。
程序中的循环是非常重要的一个环节,可以帮助咱们节省大量的时间,避免写一些重复的代码
while循环结构
var i = 0
while(条件){
//业务代码
i++
}
- while是系统关键字
- var i = 0 表示的是变量初始化,就是循环从哪里开始
- while后面的括号里面放的是条件,循环的终止条件。
- 只有满足条件的时候业务代码才会输出
- ++ 表示变量自增,变量更新
执行顺序自己理解一下下👀
死循环(应该避免)
注意
- 讲解死循环的目的是为了让大家避免写死循环程序,而不是让你去写
- 死循环会让程序一直执行,导致内存都占满,电脑会出现卡死的现象
// 最简单的死循环
while(true){
console.log('要执行了!你准备好了吗?')
}
var i = 1
while(i>0){
console.log('要执行了!你准备好了吗?')
i++
}
var i = 1
while(i<=5){
console.log('要执行了!你准备好了吗?')
}
自己练一下
题目有
- 输出1000次,一定要完成作业?思考如何让其他倒叙排列?
- 输出1-100之间的偶数?并求出偶数的和?
- 输出一个3行5列的表格?
- 求1-10之间的奇数?
- 求5的阶乘?
- 打印100以内7的倍数?
- 输出1000-2000之间的所有闰年?
- 输出456-789的所有可以被2,3,4整除的数值?
do while循环结构0
‘先斩后奏’类型的循环结构,第一次执行循环的时候无论条件是否满足都会先执行一次
do while是从while循环结构上面衍生出来的
语法
do{
}while()
do也是系统关键字,表示要进入循环做什么
while后面的括号里面放的是条件
循环执行顺序
变量初始化,只执行一次
先进入循环体,执行业务代码,再执行变量更新,再去执行判断条件。第二次,重复第一次的过程
var i = 1
do{
console.log(i)
i++
}while(i<=5)
while和do while的区别:
while是先判断条件,后执行语句,do while是先执行语句,后判断条件 先斩后奏,先执行一次
for循环
for循环和while循环比较的话,它的结构上更为清晰。是把变量初始化、判断条件、变量更新是放在一起的
语法
for(var i=1; i<=5; i++){
//业务代码
}
for也是系统关键字
for循环的执行顺序和while循环执行顺序是一样的
例子
// 求1-100之间的偶数的和?
var sum = 0
for(var i=1; i<=100; i++){
// 1%2==0 不满足条件,执行变量更新
// 2%2==0 满足条件的,进入判断体里面
// 3%2==0 不满足条件,执行变量更新
// 4%2==0 满足条件的,进入判断体里面
if(i%2==0){
// sum = 0 + 2 = 2
// sum = 2 + 4 = 6
// ...
sum += i
}
}
console.log(sum)
break和continue
- break 终止整个循环的执行
- continue 终止本次循环的执行,下次循环会继续执行 例子:
// 求偶数的和
var sum = 0
for(var i=1; i<=100; i++){
if(i%2!=0){
continue
}
sum += i
}
console.log(sum)
猜数字游戏
用户可以猜5次, 若用户猜的小于50,提示:猜小了;否则提示猜大了;
猜中了,提示:中奖了(不能继续猜谜)
- for循环适用于循环次数确定的情况下使用
- while循环适用于循环次数不确定的情况下使用
for
for(var i=1; i<=5; i++){
var num = prompt('请输入数字?')
if(num>50){
alert('猜大了')
}else if(num==50){
alert('猜中了')
break
}else{
alert('猜小了')
}
}
while
while(true){
var num = prompt('请输入数字?')
if(num>50){
alert('猜大了')
}else if(num==50){
alert('猜中了')
break
}else{
alert('猜小了')
}
}
打印金字塔(牛)
🐂
🐂🐂
🐂🐂🐂
🐂🐂🐂🐂
🐂🐂🐂🐂🐂
打印出上面效果
代码:
for(var i=1; i<=5; i++){
// 根据空格的规律输出对应的空格数
for(var k=1; k<=5-i; k++){
document.write(' ')
}
for(var j=1; j<=i; j++){
document.write('🐂')
}
document.write('<br/>')
}
打印九九乘法表
js:
var str2 = ''
for(var i=1; i<=9; i++){
for(var j=1; j<=i; j++){
str2 += '<span>'+j+'×'+i+'='+(j*i)+'</span>'
}
str2 += '<br/>'
}
document.write(str2)
css:
span{
display: inline-block;
border: 1px solid orange;
width: 100px;
height: 35px;
margin: 10px;
text-align: center;
line-height: 30px;
}