Day09- 循環(huán)語(yǔ)句

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

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

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

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

計(jì)數(shù)器變量

循環(huán)就是重復(fù)做岸夯。但是程序是如何實(shí)現(xiàn)重復(fù)做的呢俄认?它的實(shí)現(xiàn)原理是什么?

先看一個(gè)例子

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

這個(gè)變量被稱(chēng)為“計(jì)數(shù)器變量”或"循環(huán)變量"柬采。大多數(shù)循環(huán)都有某種形式的計(jì)數(shù)器變量。記浊揖:

對(duì)循環(huán)變量的三個(gè)關(guān)鍵操作

初始化

檢測(cè)

更新

計(jì)數(shù)器變量在:

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

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

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

while循環(huán)

定義

while循環(huán)是先測(cè)試循環(huán)表達(dá)式的循環(huán)粉捻。(while 語(yǔ)句創(chuàng)建一個(gè)循環(huán),測(cè)試循環(huán)表達(dá)式

的結(jié)果為真時(shí)重復(fù)執(zhí)行語(yǔ)句)

語(yǔ)法

initialize
while ( expression ){ //循環(huán)表達(dá)式
  statement //循環(huán)體
  increment //必須是由副作用的表達(dá)式振湾,如賦值或++杀迹、--
}
  • while: 引入循環(huán)表達(dá)式||標(biāo)記循環(huán)結(jié)束
  • Expression : 循環(huán)表達(dá)式
    • 如果是假值則解析器會(huì)跳過(guò)循環(huán)體亡脸,這意味著循環(huán)體可能一次都不會(huì)執(zhí)行押搪。
    • 如果是真值,則解析器會(huì)執(zhí)行語(yǔ)句浅碾,然后再次求值表達(dá)式大州。
  • statement:循環(huán)體

示例

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

注意事項(xiàng)

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

do / while

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

語(yǔ)法

do
  statement
while ( expression );

do {
  statement
} while ( expression );
  • do: 標(biāo)記循環(huán)開(kāi)始
  • statement: 循環(huán)體
  • while: 標(biāo)記循環(huán)結(jié)束||引入循環(huán)表達(dá)式
  • expression: 循環(huán)表達(dá)式

示例

let result = '';
let i = 0;

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

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

for循環(huán)

語(yǔ)法

for ( 變量聲明; 條件表達(dá)式; 賦值表達(dá)式){
  //循環(huán)體
}
  • 變量聲明:在循環(huán)開(kāi)始前設(shè)置的普通變量,通常是一個(gè)數(shù)徙邻,用于設(shè)置循環(huán)的起點(diǎn)排嫌。
  • 條件表達(dá)式:控制是否執(zhí)行循環(huán)體,也就是指定循環(huán)的終點(diǎn)缰犁。
  • 賦值表達(dá)式:每次循環(huán)體執(zhí)行后執(zhí)行的代碼淳地,用于更新計(jì)數(shù)器變量的值怖糊。(必須是由副作用的表達(dá)式)

示例:

for ( let i = 0; i < 5; i++){
  console.log(i)
}
  1. let i = 0 初始化計(jì)數(shù)器變量,在循環(huán)開(kāi)始前執(zhí)行颇象,且只執(zhí)行一次伍伤。
  2. i < 5 檢測(cè)計(jì)數(shù)器變量,求值結(jié)果為真則執(zhí)行循環(huán)體遣钳,否則跳過(guò)循環(huán)體扰魂。
  3. i++ 更新計(jì)數(shù)器變量
  4. 重復(fù)步驟2

作業(yè)

  1. 寫(xiě)一個(gè)水果超市的價(jià)格查詢(xún)程序: 蘋(píng)果 香蕉 火龍果 橙子 榴蓮等

    輸入一個(gè)“蘋(píng)果” 返回=> 3.6 / 斤

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

*****
*****
*****
*****
*****
  1. 向控制臺(tái)輸出一個(gè)口字形狀的星號(hào)

    *****
    *   *
    *   *
    *   *
    *****
    
  2. 向控制臺(tái)輸出下面的圖形

    *
    **
    ***
    ****
    *****
    
  3. 向控制臺(tái)輸出下面的圖形

    *****
    ****
    ***
    **
    *
    
  4. 向控制臺(tái)輸出下面的圖形

    *
   **
  ***
 ****
*****
  1. 向控制臺(tái)輸出下面的圖形
*****
 ****
  ***
   **
    *
  1. 向控制臺(tái)輸出下面的圖形
*
**
* *
*  *
*   *
******
  1. 向控制臺(tái)輸出下面的圖形
    *
   ***
  *****
 *******
*********
  1. 向控制臺(tái)輸出下面的圖形
*********
 *******
  *****
   ***
    *
  1. 向控制臺(tái)輸出下面的圖形
    *
   * *
  *   *
 *     *
*********
  1. 向控制臺(tái)輸出下面的圖形
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
  1. 向控制臺(tái)輸出下面的圖形
    *
   * *
  *   *
 *     *
*       *
 *     *
  *   *
   * *
    *
  1. 向控制臺(tái)輸出下面的圖形
*********
 *******
  *****
   ***
    *
   ***
  *****
 *******
*********
  1. 向控制臺(tái)輸出下面的圖形
*
**
***
****
*****
****
***
**
*
  1. 向控制臺(tái)輸出下面的圖形
    *
   **
  ***
 ****
*****
 ****
  ***
   **
   *
  1. 向控制臺(tái)輸出下面的圖形
 ***   ***
***** *****
***********
 *********
  *******
   *****
    ***
     *
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末阅爽,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子荐开,更是在濱河造成了極大的恐慌付翁,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晃听,死亡現(xiàn)場(chǎng)離奇詭異百侧,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)能扒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)佣渴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人初斑,你說(shuō)我怎么就攤上這事辛润。” “怎么了见秤?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵砂竖,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我鹃答,道長(zhǎng)乎澄,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任测摔,我火速辦了婚禮置济,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘锋八。我一直安慰自己浙于,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布挟纱。 她就那樣靜靜地躺著羞酗,像睡著了一般。 火紅的嫁衣襯著肌膚如雪樊销。 梳的紋絲不亂的頭發(fā)上整慎,一...
    開(kāi)封第一講書(shū)人閱讀 51,208評(píng)論 1 299
  • 那天脏款,我揣著相機(jī)與錄音,去河邊找鬼裤园。 笑死撤师,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拧揽。 我是一名探鬼主播剃盾,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼淤袜!你這毒婦竟也來(lái)了痒谴?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤铡羡,失蹤者是張志新(化名)和其女友劉穎积蔚,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體烦周,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡尽爆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了读慎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漱贱。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖夭委,靈堂內(nèi)的尸體忽然破棺而出幅狮,到底是詐尸還是另有隱情,我是刑警寧澤株灸,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布崇摄,位于F島的核電站,受9級(jí)特大地震影響蚂且,放射性物質(zhì)發(fā)生泄漏配猫。R本人自食惡果不足惜幅恋,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一杏死、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧捆交,春花似錦淑翼、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至肉瓦,卻和暖如春遭京,著一層夾襖步出監(jiān)牢的瞬間胃惜,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工哪雕, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留船殉,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓斯嚎,卻偏偏與公主長(zhǎng)得像利虫,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子堡僻,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容