1.do....while循环
语法:do{循环体}while(条件)
如果需要加开始条件、结束、步长之类,语法如下:
定义起始值
do{//做
循环体
步长
}
while(条件)
例子:
写一个输出1-100之间所有数字的代码
起始值:1
结束值:100
步长:一次+1
<script>
//定义一个变量i存储的值为101
var i = 101
//开始do while循环
do{
console.log(i);
i++
}
//循环条件
while(i<=100)
</script>
2.whlie循环
语法:while(条件)
如果需要加开始条件、结束、步长之类,语法如下:
定义起始值
while(条件){
起始值
循环体
步长
}
例子:还是同样的例子,写一个输出1-100之间所有数字的代码
起始值:1
结束值:100
步长:一次+1
<script>
//定义一个变量i存储的值为101
var i = 101
//开始while循环
while{
i<=100
i++
}
//打印结果
console.log(i);
</script>
3.for循环
语法:for(定起始值;条件;步长){循环体}
执行过程:
1.执行起始值
2.执行条件
3.循环体
4.步长
5.条件
6.循环体
7.步长
例子:
求1-100之间所有的偶数和
1.必须先得到1-100之间所有的数字
2.利用判断语句筛选出所有的偶数循环中i变量就代表1-100之间所有的数
所以只需要让i对2取余结果为0,满足这个条件的就是偶数
3.定义求和变量,开始累加求和
注意;因为要求所有的偶数和,所以求和代码一定要写在满足偶数的条件中才可以
4.当整个循环执行完毕之后,和就求出来,所以在循环的外面输出sum的结果即可
<script>
//定义一个变量sum,用来存储偶数的和
var sum = 0
//定义一个初始值为1,终止值为100,步长为1的循环
for (var i = 1; i <= 100; i++) {
if (i % 2 == 0) {
//求和
sum += i
}
}
console.log(sum);
</script>
附:
do...while和while的区别:
do...while循环是先做事情再进行判断
while循环是先判断再去做事情
当起始条件再一开始都满足的情况下,他们2个的结果没有什么
但是如果,一开始的时候条件就不满足:while循环是不会执行的,但是do...while循环至少会执行一次
三种循环该如何选择:
1.如果你知道循环次数,推荐用for
2.如果你不知道循环次数:推荐用while
3.当条件一开始就不成立你还想执行一次的时候就用do...while
循环中的关键字break、continue
break:如果在循环中使用了break单词,它可以起到结束循环的作用
比如准备吃10个包子,假设在吃包子的过程中,吃到第5个的时候他发现自己吃饱了,不想再吃 了,就可以把吃的程序结束掉。
<script>
for (var i = 1; i <= 10; i++) {
console.log('吃了第' + i + '个包子了');
if (i == 5) {
console.log('我吃饱了,不想再吃了,结束吧');
break
}
}
</script>
continue:结束本次循环,进行下次循环(跳过本次循环)
碰到了continue这个单词,他后面的语句就不会执行了,直接返回去开始下一次循环。
准备吃10个包子,但是吃到第5个包子的时候,第5个包子掉地下了,这个包子就不吃了,然后再继续吃第六个包子。
<script>
for (var i = 1; i <= 10; i++) {
if (i == 5) {
console.log('第5个掉地下了,不吃了,吃下一个吧');
continue
}
console.log('我吃了' + i + '个包子了');
}
</script>
例子:1
小芳的妈妈每天给她2.5元钱,她都会存起来,
但是,每当这一天是存钱的第5天或者5的倍数的话,她都会花去6元钱,
请问,经过多少天,小芳才可以存到100元钱
分析:先分析是否已知循环次数(不知道===推荐用while)
用while一般有2种思路:
第一种:借助死循环+break
第二种:思考能进循环的条件(什么时候要存钱:钱数不够100的时候,所以只要money<100的就要进循环存钱)
<script>
var money = 0
var day = 0
while (money < 100) {
money += 2.5
day++
if (day % 5 == 0) {
money -= 6
}
}
console.log('总共要用'+day+'天');
</script>
例子:2 打印九九乘法表
注意:如果是双层循环,外层循环一般代表的是行,内层循环代表的是列(也就是一行有几个)
<script>
for (var j = 1; j <= 9; j++) {//1
for (var i = 1; i <= j; i++) {
document.write(j+'*'+i+'='+(j*i)+' ')
}
document.write('<br>')
}
</script>