在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙TypeScript學(xué)習(xí)第7天:【TypeScript 循環(huán)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-02 14:28 ? 次閱讀

1、TypeScript 循環(huán)

有的時(shí)候,我們可能需要多次執(zhí)行同一塊代碼。一般情況下,語句是按順序執(zhí)行的:函數(shù)中的第一個(gè)語句先執(zhí)行,接著是第二個(gè)語句,依此類推。

編程語言提供了更為復(fù)雜執(zhí)行路徑的多種控制結(jié)構(gòu)。

循環(huán)語句允許我們多次執(zhí)行一個(gè)語句或語句組,下面是大多數(shù)編程語言中循環(huán)語句的流程圖:

cke_10961.png


2、for 循環(huán)

TypeScript for 循環(huán)用于多次執(zhí)行一個(gè)語句序列,簡(jiǎn)化管理循環(huán)變量的代碼。

語法

語法格式如下所示:

for ( init; condition; increment ){
    statement(s);
}

下面是 for 循環(huán)的控制流程解析:

  1. init 會(huì)首先被執(zhí)行,且只會(huì)執(zhí)行一次。這一步允許您聲明并初始化任何循環(huán)控制變量。您也可以不在這里寫任何語句,只要有一個(gè)分號(hào)出現(xiàn)即可。
  2. 接下來,會(huì)判斷 condition 。如果為 true,則執(zhí)行循環(huán)主體。如果為 false,則不執(zhí)行循環(huán)主體,且控制流會(huì)跳轉(zhuǎn)到緊接著 for 循環(huán)的下一條語句。
  3. 在執(zhí)行完 for 循環(huán)主體后,控制流會(huì)跳回上面的 increment 語句。該語句允許您更新循環(huán)控制變量。該語句可以留空,只要在條件后有一個(gè)分號(hào)出現(xiàn)即可。
  4. 條件再次被判斷。如果為 true,則執(zhí)行循環(huán),這個(gè)過程會(huì)不斷重復(fù)(循環(huán)主體,然后增加步值,再然后重新判斷條件)。在條件變?yōu)?false 時(shí),for 循環(huán)終止。

在這里,statement(s) 可以是一個(gè)單獨(dú)的語句,也可以是幾個(gè)語句組成的代碼塊。

condition 可以是任意的表達(dá)式,當(dāng)條件為 true 時(shí)執(zhí)行循環(huán),當(dāng)條件為 false 時(shí),退出循環(huán)。

流程圖

cke_17992.png

搜狗高速瀏覽器截圖20240326151547.png

鴻蒙NEXT學(xué)習(xí)文檔+mau123789是v

實(shí)例

以下實(shí)例計(jì)算 5 的階乘, for 循環(huán)生成從 5 到 1 的數(shù)字,并計(jì)算每次循環(huán)數(shù)字的乘積。

3、TypeScript

var num:number = 5; var i:number; var factorial = 1; for(i = num;i>=1;i--) { factorial *= i; } console.log(factorial)

編譯以上代碼得到如下 JavaScript 代碼:

4、JavaScript

鴻蒙NEXT學(xué)習(xí)文檔+mau123789是v
var num = 5;

var i;

var factorial = 1;

for (i = num; i >= 1; i--)

{

factorial *= i;

}

console.log(factorial);復(fù)制

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

120

5、for...in 循環(huán)

for...in 語句用于一組值的集合或列表進(jìn)行迭代輸出。

語法

語法格式如下所示:

for (var val in list) { 
    //語句 
}

val 需要為 string 或 any 類型。

實(shí)例

6、TypeScript

var j:any;

var n:any = "a b c"

for(j in n) {

console.log(n[j])

}復(fù)制

編譯以上代碼得到如下 JavaScript 代碼:

7、JavaScript

var j;
var n = "a b c";
for (j in n) {
    console.log(n[j]);
}復(fù)制

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

a

b

c

8、for…of 、forEach、every 和 some 循環(huán)

此外,TypeScript 還支持 for…of 、forEach、every 和 some 循環(huán)。

for...of 語句創(chuàng)建一個(gè)循環(huán)來迭代可迭代的對(duì)象。在 ES6 中引入的 for...of 循環(huán),以替代 for...in 和 forEach() ,并支持新的迭代協(xié)議。for...of 允許你遍歷 Arrays(數(shù)組), Strings(字符串), Maps(映射), Sets(集合)等可迭代的數(shù)據(jù)結(jié)構(gòu)等。

9、TypeScript for...of 循環(huán)

let someArray = [1, "string", false];
 
for (let entry of someArray) {
    console.log(entry); // 1, "string", false
}復(fù)制

forEach、every 和 some 是 JavaScript 的循環(huán)語法,TypeScript 作為 JavaScript 的語法超集,當(dāng)然默認(rèn)也是支持的。

因?yàn)?forEach 在 iteration 中是無法返回的,所以可以使用 every 和 some 來取代 forEach。

10、TypeScript forEach 循環(huán)

let list = [4, 5, 6];
list.forEach((val, idx, array) = > {
    // val: 當(dāng)前值
    // idx:當(dāng)前index
    // array: Array
});復(fù)制

11、TypeScript every 循環(huán)

let list = [4, 5, 6];
list.every((val, idx, array) = > {
    // val: 當(dāng)前值
    // idx:當(dāng)前index
    // array: Array
    return true; // Continues
    // Return false will quit the iteration
});復(fù)制

12、while 循環(huán)

while 語句在給定條件為 true 時(shí),重復(fù)執(zhí)行語句或語句組。循環(huán)主體執(zhí)行之前會(huì)先測(cè)試條件。

語法

語法格式如下所示:

while(condition)
{
   statement(s);
}

在這里,statement(s) 可以是一個(gè)單獨(dú)的語句,也可以是幾個(gè)語句組成的代碼塊。

condition 可以是任意的表達(dá)式,當(dāng)條件為 true 時(shí)執(zhí)行循環(huán)。 當(dāng)條件為 false 時(shí),程序流將退出循環(huán)。

流程圖

cke_100073.png

圖表中,while 循環(huán)的關(guān)鍵點(diǎn)是循環(huán)可能一次都不會(huì)執(zhí)行。當(dāng)條件為 false 時(shí),會(huì)跳過循環(huán)主體,直接執(zhí)行緊接著 while 循環(huán)的下一條語句。

實(shí)例

13、TypeScript

var num:number = 5; 
var factorial:number = 1; 
 
while(num >=1) { 
    factorial = factorial * num; 
    num--; 
} 
console.log("5 的階乘為:"+factorial);復(fù)制

編譯以上代碼得到如下 JavaScript 代碼:

14、JavaScript

var num = 5;
var factorial = 1;
while (num >= 1) {
    factorial = factorial * num;
    num--;
}
console.log("5 的階乘為:" + factorial);復(fù)制

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

5 的階乘為:120

15、do...while 循環(huán)

不像 forwhile 循環(huán),它們是在循環(huán)頭部測(cè)試循環(huán)條件。do...while 循環(huán)是在循環(huán)的尾部檢查它的條件。

語法

語法格式如下所示:

do
{
   statement(s);
}while( condition );

請(qǐng)注意,條件表達(dá)式出現(xiàn)在循環(huán)的尾部,所以循環(huán)中的 statement(s) 會(huì)在條件被測(cè)試之前至少執(zhí)行一次。

如果條件為 true,控制流會(huì)跳轉(zhuǎn)回上面的 do,然后重新執(zhí)行循環(huán)中的 statement(s)。這個(gè)過程會(huì)不斷重復(fù),直到給定條件變?yōu)?false 為止。

流程圖

cke_127174.png

實(shí)例

TypeScript

var n:number = 10;
do { 
    console.log(n); 
    n--; 
} while(n >=0);復(fù)制

編譯以上代碼得到如下 JavaScript 代碼:

JavaScript

var num = 5;
var n = 10;
do {
    console.log(n);
    n--;
} while (n >= 0);復(fù)制

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

10
9
8
7
6
5
4
3
2
1
0

16、break 語句

break 語句有以下兩種用法:

  1. 當(dāng) break 語句出現(xiàn)在一個(gè)循環(huán)內(nèi)時(shí),循環(huán)會(huì)立即終止,且程序流將繼續(xù)執(zhí)行緊接著循環(huán)的下一條語句。
  2. 它可用于終止 switch 語句中的一個(gè) case。

如果您使用的是嵌套循環(huán)(即一個(gè)循環(huán)內(nèi)嵌套另一個(gè)循環(huán)),break 語句會(huì)停止執(zhí)行最內(nèi)層的循環(huán),然后開始執(zhí)行該塊之后的下一行代碼。

語法

語法格式如下所示:

break;

流程圖

cke_148975.png

實(shí)例

TypeScript

var i:number = 1 
while(i<=10) { 
    if (i % 5 == 0) {   
        console.log ("在 1~10 之間第一個(gè)被 5 整除的數(shù)為 : "+i) 
        break     // 找到一個(gè)后退出循環(huán)
    } 
    i++ 
}  // 輸出 5 然后程序執(zhí)行結(jié)束復(fù)制

編譯以上代碼得到如下 JavaScript 代碼:

JavaScript

var i = 1;
while (i <= 10) {
    if (i % 5 == 0) {
        console.log("在 1~10 之間第一個(gè)被 5 整除的數(shù)為 : " + i);
        break; // 找到一個(gè)后退出循環(huán)
    }
    i++;
} // 輸出 5 然后程序執(zhí)行結(jié)束復(fù)制

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

1~10 之間第一個(gè)被 5 整除的數(shù)為 : 5

17、continue 語句

continue 語句有點(diǎn)像 break 語句。但它不是強(qiáng)制終止,continue 會(huì)跳過當(dāng)前循環(huán)中的代碼,強(qiáng)迫開始下一次循環(huán)。

對(duì)于 for 循環(huán),continue 語句執(zhí)行后自增語句仍然會(huì)執(zhí)行。對(duì)于 whiledo...while 循環(huán),continue 語句重新執(zhí)行條件判斷語句。

語法

語法格式如下所示:

continue;

流程圖

cke_174486.png

實(shí)例

TypeScript

ar num:number = 0
var count:number = 0;
 
for(num=0;num<=20;num++) {
    if (num % 2==0) {
        continue
    }
    count++
}
console.log ("0 ~20 之間的奇數(shù)個(gè)數(shù)為: "+count)    //輸出10個(gè)偶數(shù)復(fù)制

編譯以上代碼得到如下 JavaScript 代碼:

JavaScript

var num = 0;
var count = 0;
for (num = 0; num <= 20; num++) {
    if (num % 2 == 0) {
        continue;
    }
    count++;
}
console.log("0 ~20 之間的奇數(shù)個(gè)數(shù)為: " + count); //輸出 10復(fù)制

執(zhí)行以上 JavaScript 代碼,輸出結(jié)果為:

0 ~20 之間的奇數(shù)個(gè)數(shù)為: 10

18、無限循環(huán)

無限循環(huán)就是一直在運(yùn)行不會(huì)停止的循環(huán)。 for 和 while 循環(huán)都可以創(chuàng)建無限循環(huán)。

for 創(chuàng)建無限循環(huán)語法格式:

for(;;) { 
   // 語句
}

實(shí)例

for(;;) { 
   console.log("這段代碼會(huì)不停的執(zhí)行") 
}

while 創(chuàng)建無限循環(huán)語法格式:

while(true) { 
   // 語句
}

實(shí)例

while(true) { 
   console.log("這段代碼會(huì)不停的執(zhí)行") 
}

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    1975

    瀏覽量

    30194
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3722

    瀏覽量

    16317
  • 鴻蒙OS
    +關(guān)注

    關(guān)注

    0

    文章

    188

    瀏覽量

    4391
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    鴻蒙TypeScript入門學(xué)習(xí)6:【條件語句】

    條件語句用于基于不同的條件來執(zhí)行不同的動(dòng)作。 TypeScript 條件語句是通過一條或多條語句的執(zhí)行結(jié)果(True 或 False)來決定執(zhí)行的代碼塊。
    的頭像 發(fā)表于 04-01 13:51 ?764次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b>入門<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>6<b class='flag-5'>天</b>:【條件語句】

    鴻蒙TypeScript 開發(fā)學(xué)習(xí)9:【TypeScript Number】

    TypeScript 與 JavaScript 類似,支持 Number 對(duì)象。 Number 對(duì)象是原始數(shù)值的包裝對(duì)象。
    的頭像 發(fā)表于 04-07 18:02 ?792次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b> 開發(fā)<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>9<b class='flag-5'>天</b>:【<b class='flag-5'>TypeScript</b> Number】

    鴻蒙語言TypeScript學(xué)習(xí)16:【類】

    TypeScript 支持面向?qū)ο蟮乃刑匦裕热?類、接口等。
    的頭像 發(fā)表于 04-15 09:29 ?1037次閱讀
    <b class='flag-5'>鴻蒙</b>語言<b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>16<b class='flag-5'>天</b>:【類】

    鴻蒙TypeScript學(xué)習(xí)17:【對(duì)象】

    對(duì)象是包含一組鍵值對(duì)的實(shí)例。 值可以是標(biāo)量、函數(shù)、數(shù)組、對(duì)象等
    的頭像 發(fā)表于 04-15 15:33 ?673次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>17<b class='flag-5'>天</b>:【對(duì)象】

    鴻蒙TypeScript學(xué)習(xí)20:【模塊】

    TypeScript 模塊的設(shè)計(jì)理念是可以更換的組織代碼。 模塊是在其自身的作用域里執(zhí)行,并不是在全局作用域,這意味著定義在模塊里面的變量、函數(shù)和類等在模塊外部是不可見的,除非明確地使用 export 導(dǎo)出它們。類似地,我們必須通過 import 導(dǎo)入其他模塊導(dǎo)出的變量、函數(shù)、類等。
    的頭像 發(fā)表于 04-18 15:19 ?725次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>20<b class='flag-5'>天</b>:【模塊】

    鴻蒙開發(fā):【從TypeScript到ArkTS的適配規(guī)則】

    ArkTS通過規(guī)范約束了TypeScript(簡(jiǎn)稱TS)中過于靈活而影響開發(fā)正確性或者給運(yùn)行時(shí)帶來不必要額外開銷的特性
    的頭像 發(fā)表于 05-14 09:37 ?1975次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā):【從<b class='flag-5'>TypeScript</b>到ArkTS的適配規(guī)則】

    【觸覺智能 Purple Pi OH 開發(fā)板體驗(yàn)】二、鴻蒙系統(tǒng)APP應(yīng)用例程學(xué)習(xí)HDC使用學(xué)習(xí)

    兩年開發(fā)鴻蒙APP也是使用的這兩種語言進(jìn)行開發(fā)。當(dāng)下看TypeScript程序還能說勉強(qiáng)看懂,但是當(dāng)下開發(fā)程序就沒那個(gè)實(shí)力了,需要之后在抽時(shí)間學(xué)習(xí)。技術(shù)更新的也確實(shí)是快啊!!! 二、天氣預(yù)報(bào)程序開發(fā)
    發(fā)表于 08-31 11:13

    詳解了將三萬行代碼從Flow移植到TypeScript的全過程

    最新發(fā)布的Babel 7已經(jīng)開始支持TypeScript了,這引起了我的注意。這個(gè)發(fā)布意味著采用TypeScript不再需要引入整個(gè)TypeScript生態(tài)系統(tǒng),我們可以繼續(xù)通過Bab
    的頭像 發(fā)表于 02-11 11:05 ?3283次閱讀

    快速了解TypeScript和JavaScript之間的差異

    如果我們同時(shí)考慮兩者 ——TypeScript 與 JavaScript,那么每個(gè) JavaScript 代碼在 TypeScript 中都是有效的。這意味著 TypeScript 是 JavaScript 的超集。
    的頭像 發(fā)表于 03-13 10:19 ?1008次閱讀

    TypeScript之父也搞大模型:推出TypeChat

    C# 和 TypeScript 之父 Anders Hejlsberg 今天宣布了全新的開源項(xiàng)目 ——TypeChat,它通過 AI 在自然語言和應(yīng)用程序模式 (application schema),以及 API 之間構(gòu)建了一座 “橋梁”,能用新穎有趣的方式使用 TypeScr
    的頭像 發(fā)表于 07-24 09:27 ?826次閱讀
    <b class='flag-5'>TypeScript</b>之父也搞大模型:推出TypeChat

    鴻蒙TypeScript入門學(xué)習(xí)2TypeScript安裝】

    本文介紹 TypeScript 環(huán)境的安裝。 我們需要使用到 npm 工具安裝,如果你還不了解 npm,可以參考我之前文檔。
    的頭像 發(fā)表于 03-27 15:22 ?508次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b>入門<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>2<b class='flag-5'>天</b>【<b class='flag-5'>TypeScript</b>安裝】

    鴻蒙TypeScript開發(fā)入門學(xué)習(xí)3:【TS基礎(chǔ)類型】

    任意值是 TypeScript 針對(duì)編程時(shí)類型不明確的變量使用的一種數(shù)據(jù)類型,它常用于以下三種情況。
    的頭像 發(fā)表于 03-28 15:02 ?541次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b>開發(fā)入門<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>3<b class='flag-5'>天</b>:【TS基礎(chǔ)類型】

    鴻蒙TypeScript入門學(xué)習(xí)8:【TypeScript 函數(shù)】

    函數(shù)是一組一起執(zhí)行一個(gè)任務(wù)的語句。 您可以把代碼劃分到不同的函數(shù)中。如何劃分代碼到不同的函數(shù)中是由您來決定的,但在邏輯上,劃分通常是根據(jù)每個(gè)函數(shù)執(zhí)行一個(gè)特定的任務(wù)來進(jìn)行的。
    的頭像 發(fā)表于 04-03 14:54 ?422次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b>入門<b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>8<b class='flag-5'>天</b>:【<b class='flag-5'>TypeScript</b> 函數(shù)】

    鴻蒙TypeScript學(xué)習(xí)13:【元組】

    元組中允許存儲(chǔ)不同類型的元素,元組可以作為參數(shù)傳遞給函數(shù)。
    的頭像 發(fā)表于 04-11 14:43 ?509次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>第</b>13<b class='flag-5'>天</b>:【元組】

    鴻蒙TypeScript學(xué)習(xí)21:【聲明文件】

    TypeScript 作為 JavaScript 的超集,在開發(fā)過程中不可避免要引用其他第三方的 JavaScript 的庫。
    的頭像 發(fā)表于 04-19 15:02 ?600次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>TypeScript</b><b class='flag-5'>學(xué)習(xí)</b>21<b class='flag-5'>天</b>:【聲明文件】
    主站蜘蛛池模板: 一级毛片成人免费看a| 日本三级日本三级日本三级极| 日韩一级特黄毛片在线看| www色综合| 日韩三级中文| 综合网视频| 免费在线h视频| 天堂tv在线观看| 爆操极品美女| 天天干天天射天天| 在线一区二区三区| 日日噜噜夜夜狠狠va视频| 久久综合图片| 深夜视频免费在线观看| 狠狠色96视频| 久国产精品久久精品国产四虎| 欧美成人猛男性色生活| 91视频污污版| 国产一级爱c片免费播放| 国产理论片在线观看| 欧美卡一卡二卡新区网站| 欧美一区二区三区影院| brazzers在线播放| 欧美成人免费夜夜黄啪啪| 色妞导航| 日日爽夜夜爽| 中文天堂在线视频| 国产高清在线看| 1515hh四虎免费观com| 欧美三级免费观看| 黄色拍拍拍| 四虎影音在线观看| 天天做天天爱天天综合网| 成人国产三级在线播放| 国产激情电影综合在线看| 69中国xxxxxxxx18| 女张腿男人桶羞羞漫画| 亚洲精品网站日本xxxxxxx| 人人插人人爽| 国产秦先生大战白丝97在线| 97se狠狠狠狠狼亚洲综合网|