JavaScript循环控制语句

循环的三要素

1.初始值 初始的变量值

2.迭代量 基于初始值的变化

3.判断条件 对应的执行循环中代码的条件

常用的循环语句

1.while循环

var 变量 = 初始值
while(条件表达式){
    执行的代码(循环体)
    迭代
}

2.do while循环

var 变量 = 初始值
do{
    迭代量
    循环体
}while(条件)

注:do while和while区别

1.do while是先执行后判断,最少执行一次 (常用于人机交互)

2.while是先判断后执行,最少执行0次 (对应的循环处理)

3.for循环

for循环跟while之间可以互相转换也就说他们对应的运行过程是一样的

for(初始值;条件判断;迭代量){
     循环体
}

循环嵌套

所有的循环都可以进行嵌套 不同循环之间可以相互嵌套

for(初始值;条件;迭代量){
    var 变量 = 初始值
    while(条件表达式){
        执行的代码(循环体)
        迭代
    }
}
​
​
for(初始值;条件;迭代量){
       for(初始值;条件;迭代量){
           执行的代码 (执行的次数是对应的俩个循环执行次数的乘积)
       }
}
​
​

注:嵌套在最里面的哪个循环执行的次数是所有的循环的次数的乘积

break和continue

1.break是用于跳出 他可以跳出对应的switch块 以及对应的循环块 (跳出来了也就意味着本次对应的循环或对应的代码执行结束了)

for(var i=1;i<5;i++){
     if(i%2==0){
         break; //结束了当前的循环
     }
     console.log(i)//1
}

2.contiue是用于跳过某个循环 下次循环继续执行

for (var i = 1; i < 5; i++) {
     if (i % 2 == 0) {
         continue //跳过本次循环 进入下一次
     }
     console.log(i) //1 3
}

时间复杂度

在恒定的环境内,他的执行次数和对应的变量的比列构成的值为时间复杂度。

时间复杂度是在一定程度上表示当前的程序的运行速度,间复杂度越低那么运行速度就越快。

还有一个就是我们需要考虑的空间复杂度,空间复杂度是指你的程序在运行的时候开辟的内存大小,间复杂度越低占用的内存就越少(内存不再优先考虑)时间复杂度的分类及示例

时间复杂度使用字母O来表示 他的对应分类和其执行次数的比列是相关的

1.O(1) 常数阶

console.log('hello world') //一切没有变量来控制的 只执行一次的代码他属于常数阶 O(1)

2.O(logn) 对数阶

var m = 10
var n = 100
var k = 2
while(m>n){
     m *= k ;
     console.log('hello')
}

3.O(n) 线性阶

//这个的执行次数由对应变量n控制 所以他属于线性阶 O(n)
for(var i=0;i<n;i++){
    console.log('hello world')
}

4.O(nlogn) 线性对数阶

for(var i=0;i<n;i++){
     var m = 10
     var n = 100
     var k = 2
     while(m>n){
          m *= k ;
          console.log('hello')
     }
}

5.O(n平方) 平方阶

for(var i=0;i<n;i++){
      for(var j=0;j<n;j++){
      console.log('hello world')
      }
}

注意:循环嵌套不会超过俩次!logn是比n要快得,所以在后续得优化中我们采用logn级别得时间复杂度来替代n。对于for循环和while循环 对应得时间复杂度来说while要快于for循环,用while来替代for循环

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值