JavaScript 快速入门二

JavaScript 快速入门

js 流程控制-循环、调试

while 循环
do while 循环
for 循环
双重 for 循环
continue和break

断点调试

循环

循环目的:

在实际问题中,有许多具有规律性的重复操作,因此在程序中要完成这类操作就需要重复执行某些语句。这个时候我们就要用循环了。他可以帮我们重复执行某些代码。

 // 循环的目的:可以重复执行某些代码
 
        console.log('蛇皮怪');
        console.log('蛇皮怪');
        console.log('蛇皮怪');
        console.log('蛇皮怪');
        console.log('蛇皮怪');
        .....................
        
        console.log('---------------------');
        

在Js 中,主要有三种类型的循环语句:

while 循环
do…while 循环
for 循环

while 循环

语法结构如下:

while (条件表达式) {
// 循环体代码
}

while 语句可以在条件表达式为真的前提下,循环执行循环体代码 ,直到表达式不为真时结束循环。

使用while循环改写上面代码

    
     while (num <= 10){//循环的条件
        	console.log('蛇皮怪');
        }
        var num = 1;//循环变量初始化
        while (num <= 10) {//循环的条件
            console.log('蛇皮怪!');
        }
        var num = 1;//循环变量初始化
        while (num <= 10) {//循环的条件
            console.log('蛇皮怪。');
            num++;//循环变量的改变
        }

循环的三要素:循环变量初始化,循环的条件(条件表达式),循环变量的改变。

案例 :

1.打印人的一生,从1岁到100岁

2.计算 1 ~ 100 之间所有整数的和

3.询问你爱我吗
弹出一个提示框, 你爱我吗? 如果输入我爱你,就提示结束,否 则,一直询问。

        // while循环    循环的三要素   一个个写

        // 1.
        var i = 1;
        while (i <= 100) {
            console.log('这个人今年' + i + '岁了');
            i++;
        }



     //2.
       var sum = 0;
        var j = 1;
        while (j <= 100) {
            sum += j;
            j++
        }
        console.log(sum);


    //3.
    var message = prompt('你爱我吗?');
        while (message !== '我爱你') {
            message = prompt('你爱我吗?');
        }
        alert('爱个屁!');

### do while 循环

语句的语法结构如下:

do {
// 循环体代码 - 条件表达式为 true 时重复执行循环体代码
} while(条件表达式);

执行思路:

先执行一次循环体代码 再执行条件表达式,如果结果为 true,则继续执行循环体代码,如果为 false,则退出循环,继续执行后面代码。

        var i = 1;
        do {
            console.log('猪猪侠');
            i++;
        } while (i >= 100)

注意:先再执行循环体,再判断,我们会发现 do…while 循环语句至少会执行一次循环体代码

案例:

用 do while 改写while循环的案例



        // 1. 打印人的一生,从1岁到100岁
       var i = 1;
        do {
            console.log('这个人今年' + i + '岁了');
            i++;
        } while (i <= 100)

            
          // 2. 计算 1 ~ 100 之间所有整数的和   
        var sum = 0;
        var j = 1;
        do {
            sum += j;
            j++;
        } while (j <= 100)
        console.log(sum);   


 // 3. 弹出一个提示框, 你爱我吗?  如果输入我爱你,就提示结束,否则,一直询问。
      do {
            var message = prompt('你爱我吗?');
        } while (message !== '我爱你')
            
        alert('爱个屁');

### for 循环

语法结构

for(初始化变量; 循环的条件; 循环变量的改变 ){
//循环体
}

或者:

初始化变量;

for(; 循环的条件; ){
。。。。。。

循环变量的改变;

}

     for (var i = 1; i <= 10; i++) {
     console.log(i+'猪猪侠');
     }

     //或

      var i = 1//只执行一次
	  for(; i <= 10; ) {
	   console.log(i+'猪猪侠');
		i++;
	 }


       //让用户控制输出的次数
       var num = prompt('请您输入次数');
        for (var i = 1; i <= num; i++) {
            console.log('猪猪侠');
        }

断点调试:

浏览器中按 F12–> sources -->找到需要调试的文件

一行打印5个星星:★★★★★

      console.log('★★★★★');



      for (var i = 0; i <5; i++) {
             console.log('★');
        }

      console.log('★');
      console.log('★');
      console.log('★');
      console.log('★');
      console.log('★');



        var str = '';
         for (var i = 0; i <5; i++) {
             str = str + '★';
         }
         console.log(str);
      



       var num = prompt('请输入星星的个数');
        var str = '';
        for (var i = 0; i <num; i++) {
            str = str + '★'
        }
        console.log(str);


 var star = '';
	  for (var i = 0; i < 5; i++) {
      star += '☆'
    }
	console.log(star);
	 
	
	var star1 = '';
	for (var i =0; i < 5; i++) {
      star1 += '☆'
    }

   console.log(star1);
	  
   ..............  

双重 for 循环

双重 for 循环语法

for(初始化变量; 循环的条件; 循环变量的改变 ){
for(初始化变量; 循环的条件; 循环变量的改变 ){
//循环体
}
}

打印五行五列星星

var star = '';
for (var i = 0; i < 5; i++) {
    for (var j = 0; j < 5; j++) {
      star += '☆'
    }
    // 每次满 5个星星就加一次换行
    star += '\n'
}
console.log(star);
案例:

打印 n 行 n 列的星星

要求用户输入行数和列数,之后在控制台打印出用户输入行数和列数的星星。

var row = prompt('请输入您打印几行星星:');
var col = prompt('请输入您打印几列星星:');
var str = '';
for (var i = 0; i < row; i++) {
   for (j = 0; j < col; j++) {
       str += '☆';
   }
   str += '\n';
}
 console.log(str);

算法:

 内层循环的条件公式:

 当循环次数有规律的递增或者递减时,可以使用公式:(等差)

  公式为:

  **   j<m*i + n   ** 
  i和j 是循环变量,外部用i,内层用j。
  m 是 两次循环的次数差,如果递增,值取正;如果递减,值取负。(正或者倒角)
  n 是 第一轮循环的次数。(案例中为星星的个数)

  使用条件:
   i和j的初始值 必须相同,最好都是从 0开始。(程序员可控)
   必须使用 i++ 和 j++ 进行循环变量值的改变。

打印倒三角形

<script>
        // 打印倒三角形案例
        var str = '';
			for(var i = 0; i < 10; i++) { // 外层循环控制行数
				for(var j = 0; j < -i + 10; j++) { // 里层循环打印的个数不一样  j = i
					str = str + '☆';
				}
				str += '\n';
			}
			console.log(str);

</script>

打印正三角形

<script>
    var str = '';
    for (var i = 0; i <10; i++) { // 外层循环控制行数
        for (var j = 0; j < i+1; j++) { // 里层循环打印的个数不一样 
            str = str + '☆';
        }
        str += '\n';
    }
    console.log(str);
</script>

打印九九乘法表

​** \t tab缩进

<script>
   var str = '';
    for (var i = 0; i < 9; i++) { // 外层循环控制行数
        for (var j = 0; j < i+1; j++) { // 里层循环控制每一行的个数  j <= i
            // 1 × 2 = 2

            str += j + '×' + i + '=' + i * j + '\t';
        }
        str += '\n';
    }
    console.log(str);
</script>

continue、break

#### continue 关键字

continue:结束本次循环余下部分,循环继续。

例如,吃5个包子,第3个包子坏了,就扔掉第3个,继续吃第4个第5个包子,其代码实现如下:



for (var i = 0; i <5; i++) {
     if (i == 3) {
         console.log('这个包子坏了');
         continue; // 跳出本次循环,跳出的是第3次循环 
      }
      console.log('我正在吃第' + i + '个包子');
 }
break 关键字

break :跳出整个循环(循环结束)。
例如,吃5个包子,吃到第3个发现坏了,其余的不吃了,其代码实现如下:


for (var i = 1; i <= 5; i++) {
   if (i == 3) {
       break; // 直接退出整个for 循环,跳到整个for下面的语句
   }
   console.log('我正在吃第' + i + '个包子');
 }

案例:

求1-100之间所有数的总和与平均值

求1-100之间所有偶数和奇数的和

求1-100之间所有能被3整除的数字的和

求学生成绩 : 要求用户输入班级人数,之后依次输入每个学生的成绩,最后打印出该班级总的成绩以及平均成绩。

在这里插入图片描述
在这里插入图片描述

求所有满足条件的四位数ABCD,它是13的倍数,且第3位数加上第2位数等于第4位数(即:A = B+C)。控制台打印满足条件的四位数和它们的总个数。

收用户输入的用户名和密码,若用户名为 “admin” ,密码为 “123456” ,则提示用户登录成功! 否则,让用户一直输入。

求整数1~100的累加值,但要求跳过所有个位为3的数**(用continue实现)。

BCD,它是13的倍数,且第3位数加上第2位数等于第4位数(即:A = B+C)。控制台打印满足条件的四位数和它们的总个数。

接收用户输入的用户名和密码,若用户名为 “admin” ,密码为 “123456” ,则提示用户登录成功! 否则,让用户一直输入。

求整数1~100的累加值,但要求跳过所有个位为3的数**(用continue实现)。**

简易ATM

在这里插入图片描述

里面现存有 100 块钱。
如果存钱,就用输入钱数加上先存的钱数, 之后弹出显示余额提示框
如果取钱,就减去取的钱数,之后弹出显示余额提示框
如果显示余额,就输出余额
如果退出,弹出退出信息提示框

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值