4.循环语句

循环是什么

循环就是一段代码重复执行,可以大大提高效率,但是切记一定要避免死循环

循环有哪些

循环包含了while,dowhile,for三大语句,其中for和while常用 dowhile很少用到

循环的三要素

循环三个重要的要素包括

初始值:为初始的变量值

迭代量:基于初始值的改变

条件:基于初始值的判断

while语句

while是计算机的一种基本循环模式。当满足条件时进入循环,进入循环后,当条件不满足时,跳出循环

比如要打印出数字1到5代码如下

复制代码
var i=1

//声明一个值i=1

while(i<=5)      //i小于等于5{

    cosole.log(i)         //打印出一个i

    i++            //每次循环i加1 直到i<=5

}
复制代码

 

do while  (和while唯一的区别就是它是先走 后判断 所以他最少会走一次)

do while格式如下

do{
执行的代码
}while(条件)
var 初始值 =do{
执行的代码
迭代量变化
}while(条件)
var isEmpty = true
do{
    console.log('你好?')
    isEmpty = false
}while(isEmpty)

while和do while区别

while是先判断后执行 do while 先执行后判断
do while最少执行一次 while最少执行0次
常用while来写一些执行多次的内容 (最少没规定) do while(规定必须要执行的时候)

 

for循环 (常用的一个循环)

其表达式为:

for(初始值;条件;迭代量){
//执行的代码 跟if一样如果你执行的代码只有情况下可以省略{}(循环体)
}

初始值:var 一个值
条件: 进入循环的判断条件
迭代量:var 的值每一次循环完后,是否递增或递减
循环体:就是你输入所要循环的代码的地方
执行顺序:先执行初始值,再看初始值是否满足条件的判断,如果满足则进入循环,反之则不进入循环,如果进入循环里则执行循环体里面的内容,最后再执行迭代量。

比如求1+2+...+100的和

var sum = 0
for(var i=0;i<=100;i++){
    sum += i
}

 

break 终止循环

作用:在循环没有进行完毕的时候,因为设置的条件已经满足,所以提前终止循环

用法:终止循环可以直接使用break

比如:

复制代码
forvar i=0;i<=6;i++){  //定义一个for循环

  if(i===3){   //当i等于3时 break结束循环

  break

  }

  console.log(i)//打印i为3

}
复制代码

 

continue 结束本次循环

作用:和break的差别是 continue是把循环的本次跳过 然后继续执行后面的循环

用法:跳过本次循环可以使用continue关键字

比如:

 

复制代码
 forvar i = 1; i <= 6; i++){

   if(i === 3){   //当i等于3时跳过3运行后面的

   continue

  }

  console.log(i)     //打印结果显示为 1 2 4 5 6

}
复制代码

 

时间复杂度(判断内容执行效率 依照次数计算)

概述:从传统意义上 对应的代码时间复杂度越低对应的执行速度越快(效率越高)

O(1) (每行只执行一遍 常数阶)
var i = 0
i++
if(i<10){
    console.log(i)
}
O(logN) (俩个值来决定 对数阶)
var i = 1 //由i和2决定
while(i<100){
    i*=2
}
O(nlogn) (循环嵌套对应的对数阶循环 线性对数阶)
for(var i=0;i<100;i++){
    var j = 1 //由i和2决定
    while(j<100){
        j*=2
    }
}
O(n^2) (双层循环嵌套 平方阶)
for(var i=0;i<100;i++){
    for(var j=0;j<100;j++){
        console.log('我执行了'+j+'遍')
    }
}

时间复杂度 O(1) < O(logN) <O(n)<O(nlogn)<O(n^2)

注意!!!while的时间复杂度低于for循环 (算法的优化可以使用while来替代for)

posted @   汪汪队开大会  阅读(151)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
点击右上角即可分享
微信分享提示