Day09- 循環(huán)語句

循環(huán)語句是什么

循環(huán)語句就是重復執(zhí)行指定語句。js有5種循環(huán)語句:

  • while
  • Do / while
  • for
  • For / of
  • For / in

最常見的用途就是迭代數(shù)組。

計數(shù)器變量

循環(huán)就是重復做。但是程序是如何實現(xiàn)重復做的呢?它的實現(xiàn)原理是什么?

先看一個例子

for ( let count = 0; count < 5; count++){
  console.log(count)
}
  • let count = 0 初始化變量 => 循環(huán)的起點
  • count < 5 檢測變量 => 循環(huán)的終點,控制是否執(zhí)行循環(huán)體。
  • count++ 更新變量 => 控制循環(huán)迭代

這個變量被稱為“計數(shù)器變量”或"循環(huán)變量"。大多數(shù)循環(huán)都有某種形式的計數(shù)器變量。記?。?/p>

對循環(huán)變量的三個關鍵操作

初始化

檢測

更新

計數(shù)器變量在:

  • 循環(huán)開始前:計數(shù)器變量會被初始化

  • 循環(huán)迭代前:會測試計數(shù)器變量的值

  • 循環(huán)結束時:更新計數(shù)器變量

while循環(huán)

定義

while循環(huán)是先測試循環(huán)表達式的循環(huán)。(while 語句創(chuàng)建一個循環(huán),測試循環(huán)表達式

的結果為真時重復執(zhí)行語句)

語法

initialize
while ( expression ){ //循環(huán)表達式
  statement //循環(huán)體
  increment //必須是由副作用的表達式,如賦值或++、--
}
  • while: 引入循環(huán)表達式||標記循環(huán)結束
  • Expression : 循環(huán)表達式
    • 如果是假值則解析器會跳過循環(huán)體,這意味著循環(huán)體可能一次都不會執(zhí)行。
    • 如果是真值,則解析器會執(zhí)行語句,然后再次求值表達式。
  • statement:循環(huán)體

示例

let n = 0;
while (n < 3) {
  n++;
}
console.log(n);// expected output: 3

注意事項

  1. while循環(huán)只會重復執(zhí)行表達式后面的一條語句
let n = 10
while ( --n > 0)
    console.log('hello' + n)
    console.log('hi')
  1. 求值表達式必須要計算出fasle,否則while(true)會創(chuàng)造一個死循環(huán)
let count = 0 //①變量count從0開始
while ( count < 10 ){ //②表達式求值為true就執(zhí)行循環(huán)體④再次求值表達式
  console.log( count )
  count++ //③每運行一次循環(huán)體count就增一次
}
  1. 常見的計數(shù)器變量的名字有: counti、 jk

do / while

do / while 循環(huán)后測試循環(huán)表達式的循環(huán)。這意味著循環(huán)體至少會執(zhí)行一次。

語法

do
  statement
while ( expression );

do {
  statement
} while ( expression );
  • do: 標記循環(huán)開始
  • statement: 循環(huán)體
  • while: 標記循環(huán)結束||引入循環(huán)表達式
  • expression: 循環(huán)表達式

示例

let result = '';
let i = 0;

do {
  i = i + 1;
  result = result + i;
} while (i < 5);

console.log(result);
// expected result: "12345"

for循環(huán)

語法

for ( 變量聲明; 條件表達式; 賦值表達式){
  //循環(huán)體
}
  • 變量聲明:在循環(huán)開始前設置的普通變量,通常是一個數(shù),用于設置循環(huán)的起點。
  • 條件表達式:控制是否執(zhí)行循環(huán)體,也就是指定循環(huán)的終點。
  • 賦值表達式:每次循環(huán)體執(zhí)行后執(zhí)行的代碼,用于更新計數(shù)器變量的值。(必須是由副作用的表達式)

示例:

for ( let i = 0; i < 5; i++){
  console.log(i)
}
  1. let i = 0 初始化計數(shù)器變量,在循環(huán)開始前執(zhí)行,且只執(zhí)行一次。
  2. i < 5 檢測計數(shù)器變量,求值結果為真則執(zhí)行循環(huán)體,否則跳過循環(huán)體。
  3. i++ 更新計數(shù)器變量
  4. 重復步驟2

作業(yè)

  1. 寫一個水果超市的價格查詢程序: 蘋果 香蕉 火龍果 橙子 榴蓮等

    輸入一個“蘋果” 返回=> 3.6 / 斤

  2. 使用prompt()設置行數(shù)、列數(shù)、和符號輸出下面的圖形

*****
*****
*****
*****
*****
  1. 向控制臺輸出一個口字形狀的星號

    *****
    *   *
    *   *
    *   *
    *****
    
  2. 向控制臺輸出下面的圖形

    *
    **
    ***
    ****
    *****
    
  3. 向控制臺輸出下面的圖形

    *****
    ****
    ***
    **
    *
    
  4. 向控制臺輸出下面的圖形

    *
   **
  ***
 ****
*****
  1. 向控制臺輸出下面的圖形
*****
 ****
  ***
   **
    *
  1. 向控制臺輸出下面的圖形
*
**
* *
*  *
*   *
******
  1. 向控制臺輸出下面的圖形
    *
   ***
  *****
 *******
*********
  1. 向控制臺輸出下面的圖形
*********
 *******
  *****
   ***
    *
  1. 向控制臺輸出下面的圖形
    *
   * *
  *   *
 *     *
*********
  1. 向控制臺輸出下面的圖形
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
  1. 向控制臺輸出下面的圖形
    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *
  1. 向控制臺輸出下面的圖形
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********
  1. 向控制臺輸出下面的圖形
*
**
***
****
*****
****
***
**
*
  1. 向控制臺輸出下面的圖形
    *
   **
  ***
 ****
*****
 ****
  ***
   **
   *
  1. 向控制臺輸出下面的圖形
 ***   ***
***** *****
***********
 *********
  *******
   *****
    ***
     *
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容