」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 掌握 JavaScript 中的循環:綜合指南

掌握 JavaScript 中的循環:綜合指南

發佈於2024-11-09
瀏覽:539

MASTERING LOOPS IN JAVASCRIPT: A COMPREHENSIVE GUIDE

循环是编程的基础:使我们能够用最少的代码执行重复性任务。无论您是刚刚入门的初学者,还是希望精炼知识的经验丰富的开发人员,理解循环都将大大增强您编写高效、干净且有趣的代码的能力。

在本指南中,我们将深入探讨不同类型的循环、它们在流行编程语言中的语法,以及有关何时以及如何有效使用它们的一些提示。

什么是循环?

循环是一种编程结构/函数,它允许我们重复一组指令,直到满足特定条件。通过使用循环,我们可以避免重复、处理大型数据集并有效地机械化任务。 JavaScript 中使用循环来根据条件执行重复任务,此条件通常返回 true 或 false。

常见用例包括:

  • 迭代列表或数组
  • 运行代码一定次数
  • 搜索集合中的特定项目
  • 执行操作直到满足条件

循环类型

  1. For 循环
  2. While 循环
  3. Do-While 循环
  4. For...Of 循环
  5. For...In 循环
  6. 嵌套循环

大多数编程语言中通常存在三种主要类型的循环:

  1. For 循环
  2. While 循环
  3. Do-While 循环

让我们分解每种类型。

  1. For 循环

当您预先知道需要执行一段代码多少次时,可以使用 for 循环,它非常适合迭代数组或集合。

语法(JavaScript 示例):

示例1:

for i in range(5);
    print("Hello, World!");

在此示例中,range(5) 生成从 0 到 4 的序列。循环将运行五次,打印“Hello, World!”每次。

示例2:

for(let i = 0; i 



在此示例中,它指出;如果等于 0 的 i 小于或等于 10,则令 i = 0;增量(i)。这个 JavaScript 运算符( ) 将返回原始值并循环直到 10.

示例3:

for(let i = 0; i 



此示例实际上与前面的示例相同,不同之处在于使用美元符号 ($) 和反引号来提供将文本“For Loop Number”添加到循环的功能。

示例4:

for (let i = 20; i >= 0; i--){
    console.log(i)
}

在此示例中,它指出,令 i = 20;如果 i 大于或等于 0 则减量。自减运算将数字减1,它使用--operator.

何时使用:

当您知道确切的迭代次数或需要迭代列表、字典或数组中的元素时,请使用 for 循环。

  1. While 循环

当事先不知道迭代次数时,使用 while 循环。相反,循环将继续下去,直到不再满足指定的条件。 while 循环的不同之处在于您在外部设置变量。

语法(JavaScript 示例):

示例1:

let i = 0;
while(i 



在这个例子中可以看出变量是在外部设置的,它声明let i = 0;如果 i 小于 10 增量 (i ),则使用美元符号 ($) 和反引号来配置文本“ For While Loop”。

示例2:

let Johnpaul = 0;
while(Johnpaul 



在此示例中,代码将变量 Johnpaul 初始化为 0,并使用 while 循环打印“Hello, World!”直到约翰保罗达到 5。

何时使用:

当迭代次数未知或取决于循环内可能发生变化的条件时,请使用 while 循环。它通常用于需要持续检查的任务,例如等待用户输入。

  1. Do-While 循环

do-while 循环与 while 循环类似,但它保证循环内的代码在测试条件之前至少运行一次。这种类型的循环并非在所有语言(如 Python)中都可用,但在 JavaScript、C 和 Java 中很常见。

语法(JavaScript 示例):

示例1:

let Jude = 0;
do {
     console.log("Hello World!");
     Jude  ;
} while  (Jude 



在这种情况下,“你好,世界!”将在评估条件 (Jude

示例2:

let number = 1;
do {
    console.log("current number is: "   number);
    number  ;
} While (number 



在此示例中,数字初始化/等于 1。然后运行 ​​do 块,打印“当前数字是:”,后跟数字的值。打印后,number 增加 1,只要条件(number

何时使用:

当无论条件如何都需要循环体至少执行一次时,请使用 do-while 循环。它对于在循环内进行初始化的任务很有用。

选择正确的循环

  • For循环:当你知道确切的迭代次数或者需要
    迭代元素。

  • While 循环:当迭代次数未知且取决于
    健康)状况。

  • Do-While 循环:当您希望循环体之前至少执行一次时,即使条件最初为 false。

循环控制:中断和继续

在大多数编程语言中,您都有控制语句来管理循环执行:

  • Break:立即退出循环。
  • 继续:跳过当前迭代并移至下一个迭代。

例子:

for (let i = 0; i 



解释:

  • 循环从0迭代到9。
  • 当i为5时,break停止循环。
  • 如果 i 是偶数,则继续跳到下一次迭代而不打印。
  • 仅打印 5 以下的奇数。

循环的常见错误

  1. 无限循环:当循环的退出条件不为
    时会发生这种情况 遇见了。例如忘记在 while 循环中增加计数器。

  2. 相差一错误:当范围不是
    时,经常发生在 for 循环中 设置正确。

  3. 不必要的循环:使用优化操作或内置函数可以提高效率的循环。

最佳实践

  • 使用描述性变量:使用 i、a 或 b 等通用名称,
    尽管不是描述性的,但也算数。而是使用描述性变量名称
    如约翰、主要、伯爵、裘德、约翰保罗等,如果可能的话,
    特别是对于嵌套循环。

  • 考虑性能:在大型数据库上运行的循环可能会减慢速度
    程序。寻找优化,例如数组
    中的列表推导式 JavaScript 中的方法。

结论

循环是编程中必不可少的工具,使您能够自动执行重复任务并轻松处理复杂的数据库。通过掌握 for、while 和 do-while 循环,您将能够应对各种编码挑战。

希望这有帮助!如果您希望我添加具体的细节或示例,请告诉我,如果您在运行代码时遇到任何困难/问题,请向我询问,我将很乐意提供帮助。

快乐编码!

版本聲明 本文轉載於:https://dev.to/sopuluchukwu_eze/mastering-loops-in-javascript-a-comprehensive-guide-5del?1如有侵犯,請聯絡[email protected]刪除
最新教學 更多>
  • HTML格式標籤
    HTML格式標籤
    HTML 格式化元素 **HTML Formatting is a process of formatting text for better look and feel. HTML provides us ability to format text without us...
    程式設計 發佈於2025-04-27
  • 如何從2D數組中提取元素?使用另一數組的索引
    如何從2D數組中提取元素?使用另一數組的索引
    Using NumPy Array as Indices for the 2nd Dimension of Another ArrayTo extract specific elements from a 2D array based on indices provided by a second ...
    程式設計 發佈於2025-04-27
  • 哪種在JavaScript中聲明多個變量的方法更可維護?
    哪種在JavaScript中聲明多個變量的方法更可維護?
    在JavaScript中聲明多個變量:探索兩個方法在JavaScript中,開發人員經常遇到需要聲明多個變量的需要。對此的兩種常見方法是:在單獨的行上聲明每個變量: 當涉及性能時,這兩種方法本質上都是等效的。但是,可維護性可能會有所不同。 第一個方法被認為更易於維護。每個聲明都是其自己的語句,使...
    程式設計 發佈於2025-04-27
  • 為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    為什麼不````''{margin:0; }`始終刪除CSS中的最高邊距?
    在CSS 問題:不正確的代碼: 全球範圍將所有餘量重置為零,如提供的代碼所建議的,可能會導致意外的副作用。解決特定的保證金問題是更建議的。 例如,在提供的示例中,將以下代碼添加到CSS中,將解決餘量問題: body H1 { 保證金頂:-40px; } 此方法更精確,避免了由全局保證金重置...
    程式設計 發佈於2025-04-27
  • Java數組中元素位置查找技巧
    Java數組中元素位置查找技巧
    在Java數組中檢索元素的位置 利用Java的反射API將數組轉換為列表中,允許您使用indexof方法。 (primitives)(鏈接到Mishax的解決方案) 用於排序陣列的數組此方法此方法返回元素的索引,如果發現了元素的索引,或一個負值,指示應放置元素的插入點。
    程式設計 發佈於2025-04-27
  • 如何使用Python有效地以相反順序讀取大型文件?
    如何使用Python有效地以相反順序讀取大型文件?
    在python 反向行讀取器生成器 == ord('\ n'): 緩衝區=緩衝區[:-1] 剩餘_size- = buf_size lines = buffer.split('\ n'....
    程式設計 發佈於2025-04-27
  • 查找當前執行JavaScript的腳本元素方法
    查找當前執行JavaScript的腳本元素方法
    如何引用當前執行腳本的腳本元素在某些方案中理解問題在某些方案中,開發人員可能需要將其他腳本動態加載其他腳本。但是,如果Head Element尚未完全渲染,則使用document.getElementsbytagname('head')[0] .appendChild(v)的常規方...
    程式設計 發佈於2025-04-27
  • 如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    如何從Python中的字符串中刪除表情符號:固定常見錯誤的初學者指南?
    從python import codecs import codecs import codecs 導入 text = codecs.decode('這狗\ u0001f602'.encode('utf-8'),'utf-8') 印刷(文字)#帶有...
    程式設計 發佈於2025-04-27
  • Java的Map.Entry和SimpleEntry如何簡化鍵值對管理?
    Java的Map.Entry和SimpleEntry如何簡化鍵值對管理?
    A Comprehensive Collection for Value Pairs: Introducing Java's Map.Entry and SimpleEntryIn Java, when defining a collection where each element com...
    程式設計 發佈於2025-04-27
  • 我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    我可以將加密從McRypt遷移到OpenSSL,並使用OpenSSL遷移MCRYPT加密數據?
    將我的加密庫從mcrypt升級到openssl 問題:是否可以將我的加密庫從McRypt升級到OpenSSL?如果是這樣,如何? 答案:是的,可以將您的Encryption庫從McRypt升級到OpenSSL。 可以使用openssl。 附加說明: [openssl_decrypt()函數要求...
    程式設計 發佈於2025-04-27
  • 如何使用組在MySQL中旋轉數據?
    如何使用組在MySQL中旋轉數據?
    在關係數據庫中使用mySQL組使用mySQL組進行查詢結果,在關係數據庫中使用MySQL組,轉移數據的數據是指重新排列的行和列的重排以增強數據可視化。在這裡,我們面對一個共同的挑戰:使用組的組將數據從基於行的基於列的轉換為基於列。讓我們考慮以下查詢: select data d.data_ti...
    程式設計 發佈於2025-04-27
  • Go語言垃圾回收如何處理切片內存?
    Go語言垃圾回收如何處理切片內存?
    Garbage Collection in Go Slices: A Detailed AnalysisIn Go, a slice is a dynamic array that references an underlying array.使用切片時,了解垃圾收集行為至關重要,以避免潛在的內存洩...
    程式設計 發佈於2025-04-27
  • 如何使用“ JSON”軟件包解析JSON陣列?
    如何使用“ JSON”軟件包解析JSON陣列?
    parsing JSON與JSON軟件包 QUALDALS:考慮以下go代碼:字符串 } func main(){ datajson:=`[“ 1”,“ 2”,“ 3”]`` arr:= jsontype {} 摘要:= = json.unmarshal([] byte(...
    程式設計 發佈於2025-04-27
  • 左連接為何在右表WHERE子句過濾時像內連接?
    左連接為何在右表WHERE子句過濾時像內連接?
    左JOIN CONUNDRUM:WITCHING小時在數據庫Wizard的領域中變成內在的加入很有趣,當將c.foobar條件放置在上面的Where子句中時,據說左聯接似乎會轉換為內部連接。僅當滿足A.Foo和C.Foobar標準時,才會返回結果。 為什麼要變形?關鍵在於其中的子句。當左聯接的右側...
    程式設計 發佈於2025-04-27
  • 如何有效地轉換PHP中的時區?
    如何有效地轉換PHP中的時區?
    在PHP 利用dateTime對象和functions DateTime對象及其相應的功能別名為時區轉換提供方便的方法。例如: //定義用戶的時區 date_default_timezone_set('歐洲/倫敦'); //創建DateTime對象 $ dateTime = ne...
    程式設計 發佈於2025-04-27

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3