美文网首页
JavaScript_循环

JavaScript_循环

作者: webGai | 来源:发表于2022-07-28 19:56 被阅读0次

本章主要讲述循环相关语法和内容( while、do while、for )以及break和continue的使用……

一、 while() 循环.

while()循环很常用

(一)基本语法

while ( 条件表达式 ) {
    // 执行代码
}
eg:打印1~100的和
var i = 0  // 初始值
var sum = 0
while ( i<100 ) { // 条件表达式 ---》 true就执行以下代码
    i ++    // 迭代
    sum += i
}
console.log( sum )  // 5050
ps:
  1. 避免死循环!!!注意迭代值和表达式的设置!
  2. 注意考虑初始的值 和 迭代量的位置,如果进入循环就进行迭代( i++ ),就考虑第一个值是否有效

二、 do while() 循环.

和 while 循环区别不大,最大的区别在于,do while()是先执行一次代码,再判断

(一)基本语法

do {
    // 执行代码
} while (条件表达式)
eg:打印1~100的和
var i = 1 // 初始值
var sum = 0
do {
    sum += i
    i++     // 迭代
} while (i<=100)    //条件表达式 
console.log(sum);   // 5050
ps: while与do while 的区别
  1. do while () 最低执行一次;而 while ( ) 最低执行0 次
  2. do while () 是先执行代码,再判断;而while() 是先判断,再执行代码。

三、 for() 循环.

for 循环也是一种常见且实用的循环语句

(一)基本语法

for ( 初始值 ; 判断条件 ; 迭代量 ) {
    // 代码
}
eg:1~100的值
var sum = 0
for (var i = 0 ; i < 100 ; i++ ) {
    sum += i
}
console.log(sum)
ps: for( ; ; )的写法有没有错?

这样书写不会报错,但因为缺少迭代量和判断条件,导致其中代码将无限循环。( 通常可以省初始值而写在外面 )

(二) for循环的嵌套

eg: 打印九九乘法表

for ( var i = 1 ; i <= 9 ; i++ ) {  // 第一层循环 i,确定行数
    for ( var j = 1 ; j <= i ; j++ ) {  // 第二层循环 j,确定每行打印个数
        document.write(`${j} * ${i} = ${i*j} `)
    }
    document.write(`<br/>`)
}
ps:

考虑到时间复杂度( 下文提到 )以及运行速度,通常建议for()循环嵌套不超过两层。


四、 break 与 continue.

(一)区别与联系

image.png

a. break

break 是跳出当前的一层循环,其后的代码不再执行

eg: 吃4个包子,第3个有虫子,就扔掉第3个,继续吃第4个包子。
 for (var i = 1; i <= 4; i++) {
     if (i == 3) {
         console.log('这个包子有虫子,扔掉');
         continue; // 跳出本次循环,跳出的是第3次循环 
     }
     console.log('我正在吃第' + i + '个包子呢。');
 }

b. continue

continue 是跳出此次循环( 继续判断下一次循环的条件 ),continue后面的代码也不再执行

eg: 吃5个包子, 吃到第3个发现里面有半个虫子, 其余的不吃了
for (var i = 1; i <= 5; i++) {
    if ( i == 3 ) {
        break; // 直接退出整个for 循环,跳到整个for下面的语句
    }
    console.log('我正在吃第' + i + '个包子呢。');
}

五、时间复杂度

o( 1 ) < o( logn ) < o( n ) < o( n^2 ) // 数值越大,速度越慢

常数阶( o( 1 ) )

// 常数阶 就是普通的一句代码
console.log( 'hello world!' )

对数阶( o( logn ) )

// 对数阶通常两个参数 n与i 
var sum = 0
for (var i = 0 ; i < 10 ; i++ ) {
    sum *= 2    // 执行次数与 参数n(也就是2) 和 i 有关
}

线性阶( o( n ) )

for ( var i = 0 ; i < 10 ; i++ ) {
    console.log( "执行了N次" )  // 执行n次
}

循环嵌套 平方阶( o( n^2 ) )

for ( var i = 0 ; i < 10 ; i++ ) {
    for ( var j = 0 ; j < 10 ; j++ ) {
        console.log( "执行了10*10次" )  // 执行 10*10次
    }
}

相关文章

  • JavaScript_循环

    本章主要讲述循环相关语法和内容( while、do while、for )以及break和continue的使用…...

  • JavaScript_对象

    javaScript中的对象有内置对象,宿主对象,自定义对象;内置对象:数组,函数,日期,正则表达式;宿主对象:j...

  • javascript_函数

    函数对任何语言来说都是一个核心的概念,通过函数可以封装任意多条语句,而且可以在任何地方,任何时候调用执行,...

  • javascript_入门

    document.write("xxx"); // 在html页面中 输出点东西aler...

  • javascript_进阶

    引入外部js 文件的方法 testJs.js 文件中 变量 操作符 数组 各种循环 break :退出当前循环,c...

  • JavaScript_事件

    事件 通过触发指定的行为的时候,执行代码 一、事件三要素 事件源:触发条件的元素本身 事件类型:触发条件的类型( ...

  • JavaScript_对象

    一、时间对象(Date) (一)Date对象的创建 (二)Date对象的方法 (三)设置与获取的常用方法 二、对象...

  • JavaScript_函数

    一、函数介绍 函数的作用是将特定的功能封装起来,需要使用时再进行调用,从而可以重复使用而减少冗余。 (一)函数分类...

  • JavaScript_数组

    一、 数据结构 数据结构分为: 逻辑结构、存储结构和算法。 (一)存储结构 a. 线性 栈 队列 堆 数组 …… ...

  • JavaScript_闭包

    函数的执行依赖于作用域,这个作用域在函数定义时决定的,而不是函数调用时决定的; 闭包的概念:函数内部定义了嵌套函数...

网友评论

      本文标题:JavaScript_循环

      本文链接:https://www.haomeiwen.com/subject/qfaairtx.html