选择分支结构与循环

选择结构

循环结构

循环小案例


if else

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	
	<script type="text/javascript">
	   /*
	      js三种控制结构  顺序结构
	                      条件结构(分支结构)
	                      循环结构(重复结构)  
	   */
	   var age = 23;
	   /*
	      单分支
	      if (表达式) {
	         // 语句
	      }

	      先执行表达式,表达式为true,则执行大括号里面的语句 否则if什么都不做
	   */
	   // if (age>=18) {
    //       alert("恭喜你,可以网上冲浪");
    //       alert("先充值");
	   // }
	      if (age>=18) {
	      	 alert("恭喜你,可以网上冲浪");
             alert("先充值");
	      } else {
	      	 alert("未成年人禁止进入网吧!!!");
	      }
	      alert("over");
          
          /*
              其他类型转布尔类型
              undefined转成布尔值false
              null  ..... false
              数字----> +0 -0 NaN都会转false 其他为true
              字符串----> "" '' 转false 其他为true
              对象 ------> true 
          */
	      if(null) {
	      	 alert("哈哈");
	      }
	</script>
</body>
</html>

返回上层目录


switch

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	
	<script type="text/javascript">
	   /* 猜拳小游戏
	       1 石头   2 剪刀  3 布
	       计算机每一次随机生成1-3一个数
	   */
	   //console.log(parseInt(Math.random()*3+1)); // [0,1)  1<=x*3+1<4
       // 1 玩家出一个数
       var player = parseInt(prompt("请输入一个数字1~3"));
       // 2 计算机随机产生一个整数
       var computer = parseInt(Math.random()*3+1);
       console.log(computer);
       switch(player) {
           case 1:
                 switch(computer) {
                 	case 1:
                 	      alert("平局");
                 	      break;
                 	case 2:
                 	      alert("玩家胜");
                 	      break; 
                 	case 3:
                 	      alert("计算机胜");
                 	      break;  
                 }
                 break;
           case 2:
                 switch(computer) {
                 	case 1:
                 	      alert("计算机胜");
                 	      break;
                 	case 2:
                 	      alert("平局");
                 	      break; 
                 	case 3:
                 	      alert("玩家胜");
                 	      break;  
                 }
                 break;
           case 3:
                switch(computer) {
                 	case 1:
                 	      alert("玩家胜");
                 	      break;
                 	case 2:
                 	      alert("计算机胜");`在这里插入代码片`
                 	      break; 
                 	case 3:
                 	      alert("平局");
                 	      break;  
                 }
       }
	</script>
</body>
</html>

返回上层目录


while

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	
	<script type="text/javascript">
	   // while循环  do-while循环  for循环
	   // 打印1-100
	   /*
	   console.log(1);
	   console.log(2);
	   console.log(3);
	   console.log(4);
	   console.log(5);
	   */
	   /*
	       while(循环条件) {
	           // 循环体------需要重复的语句
	       }

	       执行流程 1 先判断循环条件
	                2 假如条件为真,则执行循环体后继续回到1
	                  假如条件为假,整个while结束

	       死循环指的是条件永远成立           

	   */
	   // var i = 1; // i代表一个数
	   // while(i<=100) {
	   // 	   // 打印i
	   // 	   console.log(i);
	   // 	   i++;
	   // }

	   // 页面上输出10个* 每一次输出一个
	   // var i = 1;// i表示次数
	   // while(i<=10) {
	   // 	   document.write("*");
	   // 	   i++;
	   // }
	   // alert(i);

	   // 输出1-100之间所有能被3整除又能被8整除的数
	   // 不断拿一个数进行判断
	   /*var i = 1;
	   while(i<=100) {
	   	   // 对i进行判断
	   	   if (i%3==0 && i%8==0) {
	   	   	  console.log(i);
	   	   }
	   	   i++;// ++i i=i+1 i+=1
	   }*/

	   // 求和  0+1+2+3+...+100
	   //  1 定义一个变量sum存储和
	      var sum = 0;
       //  2 定义一个变量表示加数     
          var i = 1;
          while(i<=100) {
          	  sum = sum + i;
          	  i++;
          }
          alert("sum="+sum);

	</script>
</body>
</html>

返回上层目录


do while

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	
	<script type="text/javascript">
	   // 在页面中输出1-5
	   var i = 1;
	   // while(i<=5) {
	   // 	  document.write(i);
	   // 	  i++;
	   // }

	   /*
          do {
	         循环体
          } while(条件);

          先执行循环体,判断条件,假如条件为真继续执行循环体,直到条件为假do-while循环结束
          
          while的循环体可能一次也不执行 do-while循环体至少执行一次 
	   */

	   do {
	   	  // 重复的语句-----循环体
	   	  document.write(i);
	   	  i++;
	   } while(i<=5);
	</script>
</body>
</html>

返回上层目录


for

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	
	<script type="text/javascript">
	    // 打印1-10
	    /*for(表达式1;表达式2;表达式3) {
	    	// 循环体
	    }
	     表达式1------变量初始化
	     表达式2------循环条件
	     表达式3------循环变量改变

	     执行流程: 1 先执行表1
	               2 执行表2,表2为假 for循环结束 表2为真执行第3步
	               3 执行循环体
	               4 执行表3 再回到第2步 

	    */
	    // for(var i = 1; i<=10; i++) {
     //        // 循环体
     //        document.write(i+" ");
	    // }
      //     var i = 1;
	     //  for(; i<=10; ) {
      //        // 循环体
      //        document.write(i+" ");
      //        i++;
	     // }
         /*下面是死循环*/
	     for(;;) {
	     	console.log(1);
	     }
	</script>
</body>
</html>

返回上层目录


循环小案例


```<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>
	
	<script type="text/javascript">
	/*
         ***** 
         *****
         *****
         *****
         ***** 
	   */
	   // for(var i=1; i<=5; i++) {
	   // 	   document.write("*****<br>");
	   // }

	   /* 打印图形 其实就是打印若干行 每行打印若干个*
	   
	   var lines = parseInt(prompt("请输入打印的行数"));
	   var stars = parseInt(prompt("请输入每行星星数"));
	   // 定义一个循环控制行数
	   for(var i=1; i<=lines; i++) {
	   	    // 每行打印若干个*
	   	    for(var j=1; j<=stars; j++) {
	   	    	document.write("*");
	   	    }
	   	    // 换行
	   	    document.write("<br>");
	   }
	   */

	   /*

        *       1      1
        **      2      2
        ***
        ****
        *****



	   */

	   var lines = parseInt(prompt("请输入打印的行数"));
	   for(var i=1; i<=lines; i++) {
	   	   for(var j=1; j<=i; j++) {
	   	   	   document.write("*");
	   	   }
	   	   // 换行
	   	    document.write("<br>");
	   }
	    /*  练习
                
                  *
                 ***
                *****
               *******
              *********
        */
        // 打印图形 其实就是打印若干行 每行输出若干个空格和若干个*

        /*  行数      空格数        *数
            i=0        4             1
            i=1        3             3
            i=2        2             5
             i        4-i           2*i+1  
        */  
        // 定义一个循环 控制行数
        for(var i=0; i<=4; i++) {
        	// 首先打印若干个(4-i)空格
        	for(var j=0; j<4-i; j++) {
        		document.write("&ensp;");
        	}           
        	// 再打印若干个*(2*i+1)
            for(var k=0; k<2*i+1; k++) {
            	document.write("*");
            }            
        	// 换行
        	document.write("<br/>");
        }     
	</script>
</body>
</html>

返回上层目录


返回目录

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值