循环结构
循环结构,就是根据某些给出的条件,重复的执行同一段代码. 循环必须要有某些固定的内容组成.
- 初始化
定义一个变量并且赋值初始值, 这个变量的数值往往和循环执行次数相关. - 条件判断
判断进入循环的条件, 当表达式结果是true时, 进入循环程序, 当表达式结果是false 终止循环程序. - 要执行的代码
循环体程序, 每次循环都会执行的程序代码. - 自身改变
步长值, 每次循环 循环变量改变的数值.
while循环
while,中文叫 当…时,其实就是当条件满足时就执行代码,一旦不满足了就不执行了,
语法:while (条件) { 满足条件就执行 }
因为满足条件就执行,所以我们写的时候一定要注意,就是设定一个边界值,不然就一直循环下去了
1. 初始化条件
var num = 0;
2. 条件判断
while (num < 10) {
3. 要执行的代码
console.log('当前的 num 的值是 ' + num)
4. 自身改变(步长值)
num = num + 1
}
- 如果没有步长值,那么就会一直循环不停了
<script>
var i = 1;
var sum = 0;
while(i<=100) {
sum+=i;
i++;
}
console.log(sum);
</script>
// sum = 5050
for 循环
for(初始值; 判断表达式; 步长值){
执行的代码
}
// 从 1 加到 100 的和
//定义和
var sum = 0;
for(var i = 1 ; i <= 100 ; i++){
sum +=i;
}
console.log(sum);
//sum = 5050
while循环和for循环的代码内容和执行顺序 都完全相同,只是语法形式不同.
for循环将 和循环变量相关的操作 都定义在()中, 便于操作设定循环程序.
while循环中循环体 和 步长顺序是可以根据需求改变的.
- 总结:
(1) 本质上for循环和while循环没有区别, 只是在语法形式上有区别.
(2)for() 将循环变量相关的设定都定在 () 中, 程序执行的顺序是固定的不能改变的.
while() 的 { } 中循环体和步长的执行顺序可以根据程序需求改变.
(3)已知次数的循环嵌套使用for循环更好, 未知次数的循环, 死循环使用while循环更好.
for循环嵌套(例题)
//向页面输出一个三角形
/*
*
* *
* * *
* * * *
* * * * *
* * * * * *
*/
// 1, 先生成一行内容, 也就是内层循环 完成一层循环程序
// 2, 生成对应的函数, 也就是外层循环次数, 也就是内层循环需要循环执行的次数
// 3, 内层循环变量 和内层循环变量的关系.
for(j=1 ; j<=6 ; j++){
for(var i=1 ; i<=j ;i++){
document.write('* ');
}
document.write('<br>');
}
break 和 continue
// break 在循环中是跳出当前循环, 结束循环程序.
for(var i =1 ; i<6 ; i++){
if(i === 3){
break;
}
console.log(i);
}
// 输出结果 1 2
// 因为当i = 3的时候, 执行break, 跳出当前循环了, 所以后面的i 的数值就不执行了.
// continue 在循环中是跳出本次循环, 会终止这一次循环程序的执行.
for(var i = 1 ; i<6 ; i++){
if(i === 3){
continue;
}
console.log(i);
}
// 输出结果 1 2 4 5
// 当i= 3 时, 执行continue跳出本次循环 就不会执行这次循环中后面的程序了, 但是不影响i的其他数值循环进行.