循环
在程序中,一组被重复执行的语句被称之为循环体,能否继续重复执行,取决于循环的终止条件。由循环体及循环的终止条件组成的语句,被称之为循环语句。
for 循环
for循环主要用于把某些代码循环若干次,通常跟计数有关。其语法结构如下:
<script>
// 1. for循环 重复执行某些代码,通常跟计数有关系
// 2. for循环的 语法结构
for (初始化变量; 条件表达式; 操作表达式){
// 循环体
}
// 3. 初始化变量就是用 var声明的一个普通变量, 通常用于作为计数器使用
// 4. 条件表达式 就是用来决定每一次循环是否继续执行 就是终止的条件
// 5. 操作表达式 是每次循环最后执行的代码 经常用于我们计数器变量进行更新 (递增或递减)
</script>
for 循环重复不相同的代码
// 我们想要输出一个人 1-100岁
// for (var i = 1; i<=100; i++){
// console.log('这个人'+i+'岁了');
// }
for(var i = 1; i<= 10; i++){
if(i==1){
console.log('这人出生了');
}else if(i==6){
console.log('这个人是小朋友了');
}else{
console.log('这个人'+i+'岁了');
}
}
for 循环重复不相同的代码
<script>
// for 循环重复执行某些操作
// 求1-100 之间的整数累加和
var sum=0;
for(var i = 1; i <= 100; i++){
// sum=sum+i;
sum += i;
}
console.log(sum);
</script>
双重 for 循环(外层循环一次,内层for循环全部执行)
// 1. 双重for循环 语法结构
for (外层的初始化变量; 外层的条件表达式; 外层的操作表达式){
for(里层的初始化变量; 里层的条件表达式; 里层的操作表达式){
// 执行语句;
}
}
// 2. 我们可以把里面的循环看做是外层循环的语句
// 3. 外层循环循环一次, 里面的循环执行全部
<script>
// 示例
for(var i = 1; i <= 3; i++){
console.log('i这外层的是第'+i+'次循环');
for(var j = 1; j <= 3; j++){
console.log('这里层的是第'+j+'次循环');
}
}
</script>
案例: 打印倒三角型的星星
<script>
// 打印倒三角形状的星星
var str = '';
for (var i = 1; i <= 10;i++){
for(var j = i; j <= 10; j++){
str = str + '♡'
}
str = str + '\n';
}
console.log(str);
</script>
打印九九乘法表
<script>
// 打印九九乘法表
var str = '';
for (var i = 1; i <= 10; i++){
for(var j = 1 ;j <= i ;j++){
// 1 x 2 = 2
str += j + 'x' + i + '=' + i * j + '\t';
}
str = str +'\n';
}
console.log(str);
</script>
while循环
while语句可以在条件表达式为真的前提下,循环执行指定的一段代码,知道表达式不为真时结束循环。
<script>
// 1. while 循环语法结构 while 当...的时候
while(条件表达式){
// 循环体;
}
// 2. 执行思路 当条件表达式结果为true 则执行循环体 否则 退出循环体
var num = 1;
while( num <= 10){
console.log('你好');
num++;
}
// 4. 里面应该也有计数器 初始化变量
// 5. 里面应该也有操作表达式 完成计数器的更新 防止死循环
</script>
案例
// 3. 弹出一个提示框, 你爱我吗?输入我爱你,则提示结束;否则,一直询问
var message = prompt('请输入我爱你:');
while( message !== '我爱你' ){
message = prompt('请重新输入');
}
do while 循环
循环小结
continue
continue关键字用于立即跳出本次循环,继续下一次循环(本次循环体中continue之后的代码就会少执行一次)
<script>
// continue关键字 退出本次(当前次的循环) 继续执行剩余次数循环
for (var i = 1; i<= 5; i++){
if(i==3){
continue; //只要遇见continue就退出本次循环 直接跳到i++
}
console.log('我正在吃第'+i+'个包子');
}
// 1.求1-100之间,除了能被7整除之外的整数和
var sum = 0;
for(var i = 1; i<= 100; i++){
if( i % 7 == 0){
continue;
}
sum = sum+i;
}
console.log(sum);
</script>
break
break关键字用于立即跳出整个循环(循环结束)。
<script>
// break关键字 退出整个循环
for(var i = 1; i<=5; i++){
if(i == 3){
break;
}
console.log('我正在吃第'+i+'个包子');
}
</script>
作业