本指南包含哪些內容?
這是一個基本指南,我試圖提供 JavaScript 中巢狀「for 循環」的逐步解釋。透過編寫一個程式來詳細分解循環的邏輯和迭代,該程式在瀏覽器控制台上列印一個實心方形圖案。我將解釋循環內部發生的事情以及嵌套循環內部的迭代及其工作順序。
指南是為誰而設?
本指南面向絕對初學者,他們學習了基本的 JavaScript 基礎知識,或者如果您對「for 循環」的工作順序感到困惑。
先決條件:基本 JavaScript、資料型別(字串、數字)、運算子(=、、、=)和 For 迴圈。
本文最初發佈於 Webdevstack.hashnode.dev
介紹
列印實心方形圖案是初學者等級的挑戰。該挑戰涉及編寫一個程序,使用給定的字元將一個實心正方形的圖案列印到控制台。在本指南中,我們將使用 for 迴圈逐步編寫程序,以了解迴圈的工作原理,詳細分解每個步驟,以了解 for 迴圈開始工作時內部發生的情況。
了解問題
以 4 × 4 字元網格大小視覺化由任何字元(例如 #)組成的實心正方形圖案。這意味著四行四個字元建構 4 x 4 大小(列和行)的實心正方形。這是它在控制台上的外觀。
有必要理解模式的順序。每個新字元有 4 個字元(作為列數),構成一行。我們必須在每個新行中重複此設定 4 次才能列印我們的特定圖案。
開始基礎
首先,讓我們從宣告變數來儲存一些值開始。第一個變數是 size,它儲存計算模式所需的數字 4。第二個是result,它被指派一個空字串來儲存最終的輸出。由於它將保存一個字串值,因此將分配一個空字串作為結果的初始值。 (如果不儲存任何空字串,您可以檢查最後的輸出,它會傳回什麼)
let size = 4; let result = "";
(不初始化變數也是可以的,但使用變數是為了更好的維護。另外,除了for迴圈之外,程式還可以使用while迴圈或其他方法來寫,但這不是我們的目標本指南)
例如,讓我們編寫基本的“for 循環”,透過將其分解為小步驟來理解循環。清楚地了解基礎知識將使我們的下一步更容易考慮。
let size = 4; let result = "";
了解基本設定
-
變數設定
大小= 4; - 循環迭代的次數。
結果=“”; - 空字串來儲存最終輸出。
循環初始化:count = 0;設定「For Loop」的起始值。
循環調節:計數
迴圈體:結果 = "#";在每次 for 迴圈迭代的結果中附加「#」字元。
-
更新循環變數:count;每次迭代結束時將計數加 1。
計數 → 計數 = 計數 1
遞增是必要的,否則循環將無限運行。
每次迭代會發生什麼事?追加:在現有值的末端新增值。例如,讓text =“Hello”;如果我將另一個值連接到文字變量,例如text = “World”;它將把字串“World”附加到其現有值“Hello”上,從而產生輸出“ HelloWorld」。文字=「世界」→文字=文字「世界」→文字=「你好」「世界」→文字=「HelloWorld」
大小= 4;結果=“”;
迭代 1:
- 計數 = 0; → 計數
- 結果=“#”;→結果=結果“#”;→結果=“““#”→結果=“#”;
- 計數 → 計數 = 計數 1 → 計數 = 0 1 → 計數 = 1
- 計數 = 1; → 計數
- 結果=“#”;→結果=結果“#”;→結果=“#““#”→結果=“##”;
- 計數 → 計數 = 計數 1 → 計數 = 1 1 → 計數 = 2
- 計數 = 2; → 2
- 結果=「#」;→ 結果是「###」
- 計數 → 計數為 3
- 計數 = 3; → 3
- 結果=“#”;→ 結果是“####”
- 數 → 數為 4
-
計數 = 4; → 4
築巢 - 模式構建
到目前為止,我們已經使用 For 迴圈在一行(我們稱之為行)中列印了四個「#」字元(每個字元可以視為列)。我們總共需要 4 行相似的字元集 #### 來建構正方形的維度。 ✅
我們可以透過將循環放入新循環中來重複整個循環四次來實現此目的。這個新循環會建立每組 #### 字元四次。這就形成了一個嵌套循環,即一個循環嵌套在另一個循環中,一個內循環和一個外循環。
?每次外層循環運行時,它會執行內層循環,內層循環也迭代 4 次。這意味著外循環的四次迭代將執行內循環四次,從而導致內循環總共迭代 16 次。如下圖所示。
讓我們根據自己的想法更改程式碼,並相應地更新循環的變數名稱。內部循環的名稱是“col”,因為它透過列計數放置字符,而外部循環的名稱是“row”。
let size = 4; let result = "";
兩個循環都會不斷迭代,直到條件行
現在,如果我們運行我們的程式碼,輸出將是這樣的:################,這不是我們想要的輸出。發生這種情況是因為我們沒有為每一行插入一個新行。
- 作為負責每個集合 #### 的內部循環,我們將在內部循環之後但仍在外部循環體內的同一變量 result 中附加新行字符“n”: result = "n ”;
for(let count = 0; count
- 對於每一行,內部迴圈都會將「#」字元附加到結果中。新增完字元並退出後,外循環會將「n」附加到結果變數以移動到新行。
煞車嵌套迭代
➿ 外循環
迭代1:row = 0 → row
--外循環體
--- 內循環
--- 迭代1: col = 0: result = “#”, 所以結果變成“#”, col
--- 迭代2:col = 1:結果=“#”,因此結果變成“##”,col
--- 迭代3:col = 2:結果=“#”,因此結果變成“###”,col
--- 迭代4:col = 3:結果=“#”,所以結果變成“####”,col
--- 內循環出口
--result = "n": 新增換行符,因此 result 變成「####n」。
行 → 將行的值增加到 1
迭代2:row = 1 → row
--外循環體
--- 內循環
--- 迭代1:col = 0:結果=“#”,因此結果變成“####n#”,col
--- 迭代2: col = 1: result = “#”, 所以結果變成“####n##”, col
--- Iteration3: col = 2: result = “#”, 所以 result 變成 "####n###", col
--- 迭代4: col = 3: result = “#”, 所以結果變成“####n####”, col
--- 內循環出口
-- result = "n": 新增換行符,因此 result 變成「####n####n」。
行 → 將行的值增加到 2
後續過程重複
-迭代3:行= 2 → 2
-迭代4:行= 3 → 3
-結束迭代:row = 2 → 2
➿ 外環出口
最後一行console.log(結果);印出最終值。
「####n####n####n####n」是結果變數最後儲存的最終值。 「n」將執行行製動,同時將輸出列印到控制台。
let size = 4; let result = "";
結論
執行迭代和顯示多維資料結構等複雜任務通常涉及使用巢狀循環。到目前為止,我們已經探索了基本程序的嵌套循環,為基本理解奠定了基礎。我們已經分解了基本循環和巢狀循環的迭代步驟。我建議嘗試編寫程式的不同變體,例如允許使用者輸入圖案的大小和字元、建立矩形圖案或使用不同的方法實現相同的程序,以進行更多練習。
console.log(“感謝您的閱讀”);
以上是我如何嘗試理解 JavaScript 中的嵌套 For 循環內部的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript開發工具

禪工作室 13.0.1
強大的PHP整合開發環境

SublimeText3 Linux新版
SublimeText3 Linux最新版

Dreamweaver CS6
視覺化網頁開發工具