週期數
當一個動作需要重複很多次時,在編程中會使用循環。 例如,您需要顯示文本 "Hello, World!" . 與其重複相同的文本輸出命令 200次,通常是創建一個循環,該循環重複循環主體中所寫內容的200倍。 每次重複稱為一次迭代。
編程中的迭代-從最廣泛的意義上講-數據處理的組織,在該過程中,動作被重複多次,而不會導致自身調用(與遞歸相反)。 從狹義上講,這是一個循環迭代過程中的一步。
JavaScript(以及所有其他語言)中的循環是一段代碼 只要已知條件為真,該循環便會重複。 循環有很多不同的類型,但是它們基本上都做相同的事情:它們重複執行幾次動作。
The while() 循環
while
運算符創建一個循環,在被測條件為真時執行指定的指令。 在執行循環主體之前,先計算條件的邏輯值。
句法
while (condition) {
instruction // algorithm code - instructions
}
condition
是一個表達式,每次進入循環之前都會檢查其布爾值。 如果值為true - true
然後執行指令。 當值變為假時 - false
, 我們退出循環。
指令是每當條件為真時執行的算法代碼。 要循環執行多個指令,請使用 {...}
阻止運算符將它們分組。 在循環主體中使用1個命令時,可省略花括號。
這是一個簡單的循環示例 while (condition) {...}
count
在示例中是0
。 循環的條件(在括號中用скоб表示)是帶有代碼的塊將不斷重複直到(即,實際 while
) count
小於 10
.
自初始值 0
小於 10
, 代碼運行。 每次口譯員重新檢查 ✔️ 條件,如果條件仍然為真,則將再次運行代碼 。 每次我們將計數器值增加 1
. 否則,該值將保持在 0
, 所以我們的條件 <10
將永遠保持為真,我們的代碼將永遠循環!
結果,之後 10
週期將變成 10
. 在那之後,解釋器將終止循環,因為條件是 false
然後轉到我們代碼的最後幾行
The for() 循環
for
expression會在括號中創建由三個3個可選表達式組成的循環,並用分號分隔。
句法
for ([initialization]; [condition]; [final expression])
{ expression }
initialization
- 變量的表達或定義。 該表達式可以選擇使用 let
關鍵詞。 這些變量僅在 for
循環,即在同一範圍內(出於安全性考慮)。
condition
是在循環的每次迭代中執行的表達式。 如果表達式為true,則執行循環。 條件是可選的。 如果不是,則始終認為該條件為真。 如果表達式為假,則執行 for
終止。
final expression
- 在循環迭代結束時執行的表達式。 發生直到滿足下一個條件。 通常用來 increment ++
, decrement -
or update i + = 5
一個計數器變量
expression
- 循環條件為時算法的可執行代碼 true
. 要在循環中執行多個表達式,請使用 {...}
阻止將這些表達式分組。 為避免在循環中執行任何表達式,請使用空 for (;;;)
表達。
讓我們計算0到100之間的數字總和 :
還記得我們寫第一本書的時候 1️⃣ while()
我們的櫃檯怎麼了? 我們發現不斷變化非常重要 (increment ++
helped us with this). 因為如果您忘記它,那麼代碼 將落入 infinite loop of loops
.
好吧,這種情況經常發生 while-loops
, 這就是為什麼 for
用內置計數器完成的!
循環示例
當您第一次看到a的語法時 loop for
, 您可能會認為🤔這很奇怪。 但是您仍然應該學習🧑,因為您將會見面
這樣多次:
好吧,你知道嗎? 他們應該有! 畢竟,這實際上與我們用於 while
在本章開始循環! 循環的三個部分用分號分隔; 他們都在while循環中,但是在不同的地方。 讓我們仔細看看:
- 首先,我們聲明一個計數器變量 -
let i = 0
. 正是在函數本身和這個循環之外i
會缺席,這很安全! 2.接下來,我們設置一個條件,解釋器將在循環的每次迭代之前進行檢查(以確定是否值得啟動代碼)。 一次迭代稱為循環的一次迭代(例如,如果我們有10個啟動週期,則可以說有10個代碼迭代)。 3.我們代碼的第三部分是increment ++
(ordecrement --
). 它在每次迭代結束時運行,以每次更改我們的變量
結論
幾乎總是,當您知道所需的迭代次數時,寧願使用for而不是while。 這就是為什麼 for
循環是如此流行。 還有其他週期,但是它們並不那麼受歡迎,如果您願意,可以結識它們 here.
問題?
Write to Discord chat.
問題:
一遍又一遍地重複直到給定條件不再成立的代碼塊的名稱是什麼?
1.循環 2.條件 3.初始化
這兩個循環運算符中哪個更受歡迎?
for
while
break
以下代碼將輸出到控制台多少條消息?
let k = 0
while (k < 7) {
console.log('one more line!')
}
7
8
infinity
用於分隔括號中的for循環部分的字符是什麼?
&&
;
=!
If _______
始終保持為真,則代碼可能陷入無限 _______
.
- condition / loop
- cycle / condition
中間是什麼 _____
的三個括號部分中的一個 for
循環調用?
1.表達 2.條件 3.增量
以下代碼將輸出到控制台多少條消息?
const maxNumer = 17
let n = 0
while (n <= maxNumer) {
console.log("Let's count!" + n)
n = n + 2
}
8
9
10
循環的一個(步驟)通過的術語是什麼?
1.迭代 2.中斷 3.循環播放
為了了解您學到了多少本課程,請對 mobile application 我們學校就這個話題。
鏈接
- MDN web doc. The article "The do ... while loop"
- MDN web doc. For Loop Article
- MDN web doc. The while loop
- Iteration article, Javascript Express site
- While and for Loops
- Code for Teens: The Perfect Beginner's Guide to Programming, Volume 1: Javascript - Jeremy Moritz
貢獻者 ✨
感謝這些好人 (emoji key):
Dmitriy K. | Dmitriy Vasilev 💵 | Resoner2005 🐛 🎨 🖋 | Navernoss 🖋 🐛 🎨 |