JS基础-分支结构-循环-数组

时间:2021-08-14 11:52:08

1.分支结构
  1.if结构
    语法:
    if(条件){
       语句块;
    }
    注意:
      1.条件尽量是boolean的,如果不是boolean的,以下条件值,会当做false
        if(0){}
 if(0.0){}
 if(""){}
 if(undefined){}
 if(null){}
 if(NaN){}
       ex:
         if(35){...}  //true
      2.if后的{}可以省略
        省略后,if只控制下面的第一条语句
 建议不要省略{}
  2.if...else...结构
    语法:
    if(条件){
      语句块;
    }else{
      语句块;
    }
  3.if...else if...else...结构
    语法:
    if(条件){
      语句块1;
    }else if(条件){
      语句块2;
    }else if(条件){
      语句块3
      ...s
    }else{
      语句块n;
    }
   练习:
     从弹出框中输入1-7的数字,数字分别代表周一到周日,
       输入1:打印输出“周一吃红烧肉”
       2:“周二吃红烧排骨”
       3:“周三吃红烧丸子”
       4:“周四吃红烧茄子”
       5:“周五吃红烧带鱼”
       6和7:“周末减肥”
  4.switch...case结构
    1.作用:等值判断(===)
    2.语法:
      switch(值/表达式){
        case 值1:
    语句块1;
    break; //结束switch结构,可选的
 case 值2:
    语句块2;
    break;
 ....
 default:
    语句块n;
    break;
       }
    3.特殊用法
      执行相同操作时:
      switch(值/表达式){
         case 值1:
  case 值2:
  case 值3:
    语句块;
      }
2.循环
  1.特点
    1.循环条件:循环的开始和结束
    2.循环操作:要执行的相同或相似的语句
  2.循环-while
    语法:
    while(条件){
      //循环体-循环操作
      //更新循环条件
    }
    问题:打印输出1-10的数字

练习1:打印1-100之间的所有数字
  3.循环的流程控制
    1.break
      作用:终止整个循环的运行
    2.continue
      作用:终止本次循环,继续下一次循环
   
    问题:
      循环从弹出框中录入信息,并且打印,直到输入exit为止。
    练习:
      计算1-100之间所有偶数的和
  4.循环-do...while
    语法:
     do{
       循环体
     }while(条件);
     执行流程:
       1.先执行循环体
       2.再判断循环条件
         如果条件为真,则继续执行循环体
  如果条件为假,则跳出循环操作
     练习:改版循环录入操作
         1.从弹出框中循环录入数据并打印在控制台
  2.输入exit为止(exit不输出)
     练习2:
         1.随机生成一个1-100之间的数字
  Math.random();生成0-1之间的随机数
  var r=parseInt(Math.random()*100)+1;
  2.让用户输入一个数字
    如果输入的数字比随机数大,提示猜大了;
    如果输入的数字比随机数小,提示猜小了;
    否则,猜对了!
    允许循环猜数
  3.输入exit也可以退出游戏。
  5.for循环
    1.ex:
      var i=1; //表达式1
      while(i<=100){ //表达式2
         console.log(i);
  i++; //表达式3
      }
    2.for语法
      for(表达式1;表达式2;表达式3){
         循环体
      }
      ex:
      for(var i=1;i<=100;i++){
         console.log(i);
      }
      表达式1:循环条件的声明
      表达式2:循环条件的判断
      表达式3:更新循环变量
     执行流程:
       1.先执行表达式1
       2.判断表达式2的结果(boolean类型)
       3.如果条件为真,则执行循环体,否则退出
       4.执行完成循环体后,再执行表达式3
       5.判断表达式2的结果
     练习:
       定义一个函数,打印乘法表中的任意一行
       传参,传几打印第几行。
       1*1=1
       1*2=2 2*2=4
       1*3=3 2*3=6 3*3=9
       1*4=4 2*4=8 3*4=12 4*4=16
       ...
       ex:传4,打印第4行
       循环条件:从1开始到line结束
       循环操作:循环变量*line=循环变量*line
    3.for三个表达式特殊用法
      for(表达式1;表达式2;表达式3){}
      1.省略表达式
        三个表达式可以任意省略,分号不省略。
 但一定要在循环的内部或外部将表达式补充完成。
      2.表达式1和表达式3允许写多个表达式,多个表达式之间用逗号隔开。
       ex:
         function sum(){
     for(var i=1,sum=0;i<=100;i++){
        sum+=i;
     }
     console.log(sum);
  }
    4.循环嵌套
      1.循环嵌套
        在一个循环体内,又出现另一个循环
 for(var i=1;i<=10;i++){ //外层循环
    for(var j=1;j<=10;j++){ //内存循环
       //循环体
    }
 }
 外层循环走一次,内层循环走一轮
        练习1:在控制台打印以下图像
   *
   **
   ***
   ****
   *****
 练习2:打印99乘法表
3.数组
  1.什么是数组
    在一个变量中保存多个数据
    数组是按照线型顺序来排列的-线型结构
  2.声明数组
    1.语法
      1.var 数组名=[];
        ex:
 var unames=[];
      2.var 数组名=[元素1,元素2,元素3];
        var unames=["TOM","lilei","lucy"];
      3.var 数组名=new Array();
      4.var 数组名=new Array(元素1,元素2,元素3);
        ex:
 var names=new Array("林黛玉","贾宝玉","刘姥姥");
      练习:
        1.创建一个数组,该数组保存3名学员的姓名
 2.再创建一个数组,该数组保存3名学员的年龄
 3.在控制台,分别打印输出数组中的值。
    2.数组的使用
      取值和赋值操作都使用:数组名[下标]
      1.为数组元素赋值
        数组名[下标]=值;
      2.获取数组中的元素
        数组名[下标];
      3.获取数组的长度
        数组长度:数组中元素的个数
 属性:length
 语法:数组名.length
        1.length表示数组的长度,还可以表示即将要插入的元素的下标
 ex:
  var unames=["Tom","lucy","lilei"];
  unames[unames.length]="孙悟空";
  unames[unames.length]=prompt();

2.配合循环,遍历数组中每一个元素
  for(var i=0;i<=unames.length-1;i++){
      i:表示每个元素的下标
      unames[i]:取到每一个元素
  }