js循环结构--四种

133 阅读2分钟

循环结构

特点 : 反复执行的代码 - 几乎一瞬间执行完毕

while和do..while

  • while

    var i = 0;
    while( i < 10 ){
      循环体;
      i++;
    }
        
    
  • do..while

    语法:
         var 循环变量 = 0;
         do{
            循环体;
            变量变化;
         }while(循环条件)
        
    
whiledo..while区别:(面试题)while 和 do..while区别: (面试题)
     1.只看第一次,如果都满足条件,两者没有区别,无非do..while更麻烦
  
     2.如果第一次大家都不满足条件,while一次都不会执行,而do..while至少会执行一次
 

for

  for(var i = 0; i < 10; i++){
	循环体;
  }
      

冒泡排序 ----重点

  ####举例:
  
  var arr=[5, 58, 74, 1, 88, 36, 22, 55, 222, 55, 1, 74, 251, 98, 8585, 655, 655, 341]
  for(var i = 0; i  <arr.length; i++){
     for(var j = 0; j < arr.length; j++){
         if(arr[j] > arr[j+1]){
            var a = arr[j+1];
            arr[j+1] = arr[j];
            arr[i]] =a;
         } 
     }
     console.log(arr);
  }

switch (可以嵌套自身)

语法:

     switch(变量/表达式){
            case1:
            操作1;
            break;
            case2:
            操作2;
            break;
            default:
            默认操作;
     } 
     

注意:

   1.没有break
       默认值要满足条件 1,就会把后面的操作都做完
   2.最后的default可以不用加break
   3.如果连续多个操作是一样的效果,可以省略中间部分的操作
   
  举例: 
   
   var user = parseInt(prompt('请输入您要查询的东西\n1.查询话费\n2.查询流量\n3.套餐修改\n4.业务办理\n5.公司业务\n6.其他业务\n7.人工服务'));
  switch (user) {
    case 1:
      alert('查询话费');
      break;
    case 2:
      alert('查询流量');
      break;
    case 3:
      alert('套餐修改');
      break;
    case 4:
    case 5:
    case 6:
      alert('正在维护');
      break;
    case 7:
      alert('正在接入人工服务,为保证通话质量,我们会对您的通话内容进行录音');
      break;
  }

判断平闰年,每月多少天

     var month = parseInt(prompt('请您输入要查询的月份'));
  var year = parseInt(prompt('请您输入要查询的年份'));
  var a = year % 400;
  var b = year % 100;
  var c = b % 4;

  switch (month) {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
      alert('大月31天');
      console.log('大月31天');
      break;
    case 4:
    case 6:
    case 9:
    case 11:
      alert('小月30天');
      break;

    case 2: switch (a) {
      case 0:
        alert(year + "是闰年,二月有29天");
        break;
      default:
        switch (b) {
          case 0:
            alert(year + "是平年,二月有28天");
            break;
          default:
            switch (c) {
              case 0:
                alert(year + "是闰年,二月有29天");
                break;

              default:
                alert(year + "是平年,二月有28天");
                break;
            }
            break;
        }
    }
  }
  • 死循环:

        1.while(true){}
       
        2.for(;;){}
       
    特殊:
        for:的两个分号一个都不能少
              
    
  • 退出循环:

  1.      退出循环:break;
    
  2.      退出本次循环:continue;
    

总结

  • while

    一般都不会使用,在不确定循环次数的时候使用
    
  • for

    常用,确定循环次数
    

其实我们的循环目前为止就算学完了,但是后面我们还会看到一些forin循环、forof循环、forEach循环这些都算不上循环,因为不能自己设置从何开始到哪里结束,更算是专门用于遍历数组的操作其实我们的循环目前为止就算学完了,但是后面我们还会看到一些for in循环、for of循环、forEach循环 - 这些都算不上循环,因为不能自己设置从何开始到哪里结束,更算是专门用于遍历数组的操作