《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)》課件 第2、3章 ArkTS_第1頁
《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)》課件 第2、3章 ArkTS_第2頁
《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)》課件 第2、3章 ArkTS_第3頁
《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)》課件 第2、3章 ArkTS_第4頁
《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)》課件 第2、3章 ArkTS_第5頁
已閱讀5頁,還剩352頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第2章ArkTS(上)《鴻蒙HarmonyOS應(yīng)用開發(fā)基礎(chǔ)》學(xué)習(xí)目標/Target熟悉ArkTS的概念,能夠說出什么是ArkTS,以及ArkTS與JavaScript、TypeScript

的關(guān)系掌握調(diào)試輸出,能夠使用console.log()語句輸出信息掌握注釋的使用方法,能夠合理運用單行注釋、多行注釋增強代碼的可讀性掌握變量、常量和數(shù)據(jù)類型,能夠使用變量、常量和數(shù)據(jù)類型存儲數(shù)據(jù)掌握運算符,能夠靈活運用運算符完成運算學(xué)習(xí)目標/Target掌握選擇結(jié)構(gòu)語句,能夠根據(jù)實際需求選擇合適的選擇結(jié)構(gòu)語句掌握循環(huán)語句,能夠根據(jù)實際需求選擇合適的循環(huán)語句掌握跳轉(zhuǎn)語句,能夠靈活運用continue語句或break語句實現(xiàn)程序中的流程跳轉(zhuǎn)掌握數(shù)組和枚舉,能夠使用數(shù)組和枚舉存儲數(shù)據(jù)熟悉函數(shù)的概念,能夠闡述函數(shù)的作用學(xué)習(xí)目標/Target掌握常用的內(nèi)置函數(shù),能夠使用內(nèi)置函數(shù)完成功能開發(fā)掌握自定義函數(shù),能夠根據(jù)實際需求在程序中定義并調(diào)用函數(shù)掌握如何將函數(shù)作為值使用,能夠?qū)⒑瘮?shù)作為變量值、參數(shù)值、返回值或數(shù)組元素

值來使用掌握箭頭函數(shù),能夠定義和調(diào)用箭頭函數(shù)熟悉變量的作用域和閉包,能夠在開發(fā)中正確使用變量的作用域和閉包章節(jié)概述/SummaryArkTS是鴻蒙應(yīng)用開發(fā)的主力語言。ArkTS圍繞鴻蒙應(yīng)用開發(fā),在TypeScript的生態(tài)基礎(chǔ)上做了進一步擴展,既保持了TypeScript的基本風(fēng)格,又通過規(guī)范定義強化了開發(fā)期靜態(tài)檢查和分析,提升了程序執(zhí)行穩(wěn)定性和性能。本章將對ArkTS基礎(chǔ)語法進行詳細講解。目錄/Contents2.12.2初識ArkTS調(diào)試輸出和注釋2.32.4變量、常量和數(shù)據(jù)類型運算符2.5流程控制目錄/Contents2.62.7數(shù)組和枚舉函數(shù)2.82.9變量的作用域和閉包階段案例——統(tǒng)計每個學(xué)生的總成績初識ArkTS2.12.1初識ArkTS

先定一個小目標!熟悉ArkTS的概念,能夠說出什么是ArkTS,以及ArkTS與JavaScript、TypeScript的關(guān)系2.1初識ArkTSArkTS并不是一門全新的語言。由于JavaScript應(yīng)用廣泛,TypeScript又使JavaScript更加嚴謹,華為選擇在TypeScript的基礎(chǔ)上開發(fā)ArkTS語言,從而使已經(jīng)具備JavaScript或TypeScript基礎(chǔ)的開發(fā)者可以快速上手鴻蒙應(yīng)用的開發(fā)。2.1初識ArkTSJavaScriptJavaScript是Web前端開發(fā)中的一門編程語言,最初主要用于開發(fā)交互式的網(wǎng)頁,實現(xiàn)網(wǎng)頁中的各種交互效果,例如,輪播圖、選項卡、表單驗證等。隨著技術(shù)的發(fā)展,JavaScript的應(yīng)用領(lǐng)域變得更加廣泛,它還可以用來開發(fā)服務(wù)器應(yīng)用、桌面應(yīng)用和移動應(yīng)用。2.1初識ArkTSJavaScript語言的標準化由Ecma國際(EcmaInternational)制定。Ecma國際是一個國際性會員制的信息和電信標準組織,該組織發(fā)布了ECMA-262標準文件,規(guī)定了瀏覽器腳本語言的標準,并將這種語言稱為ECMAScript。JavaScript是對ECMAScript的實現(xiàn)和擴展。目前,ECMAScript還在持續(xù)更新,比較有代表性的版本是2015年發(fā)布的ECMAScript6,隨后幾乎每一年都有新版本的發(fā)布,例如,2024年6月26日發(fā)布的ECMAScript2024。2.1初識ArkTS2.TypeScriptTypeScript是微軟(Microsoft)公司推出的一門開源的編程語言,它是JavaScript的超集,意味著TypeScript包含JavaScript的所有特性,并在JavaScript的基礎(chǔ)上新增了一些新特性,例如靜態(tài)類型檢查、更嚴格的語法規(guī)則、接口、泛型等。2.1初識ArkTS使用TypeScript中的靜態(tài)類型,開發(fā)者可在編碼階段發(fā)現(xiàn)并修復(fù)潛在的錯誤,減少代碼在運行時出現(xiàn)錯誤的可能性。同時,TypeScript還支持ECMAScript標準,使用TypeScript編寫的代碼可以編譯成JavaScript代碼,從而在JavaScript的環(huán)境中運行。TypeScript提供了更好的開發(fā)工具和更嚴格的代碼檢查,它廣泛應(yīng)用于大型Web應(yīng)用程序和框架中,以提高大型應(yīng)用程序的可維護性和可讀性。2.1初識ArkTS3.ArkTSArkTS是華為推出的一門為構(gòu)建高性能應(yīng)用而設(shè)計的編程語言。由于許多編程語言在設(shè)計之初沒有考慮到移動設(shè)備,導(dǎo)致應(yīng)用運行緩慢、低效、功耗大,所以針對移動環(huán)境的編程語言優(yōu)化需求越來越大。ArkTS就是專為解決這些問題而設(shè)計的,它聚焦于提高運行效率。2.1初識ArkTSArkTS通過保持TypeScript的大部分語法,為現(xiàn)有的TypeScript開發(fā)者實現(xiàn)無縫過渡,讓移動開發(fā)者能快速上手。ArkTS的一大特性是它專注于低運行時開銷。ArkTS對TypeScript的動態(tài)類型特性施加了更嚴格的限制,以減少運行時開銷,提高運行效率。通過取消動態(tài)類型特性,ArkTS代碼能更有效地在運行前被編譯和優(yōu)化,從而實現(xiàn)更快的應(yīng)用啟動和更低的功耗。調(diào)試輸出和注釋2.22.2.1調(diào)試輸出

先定一個小目標!掌握調(diào)試輸出,能夠使用console.log()語句輸出信息2.2.1調(diào)試輸出在實際開發(fā)中,經(jīng)常需要輸出一些信息,從而方便調(diào)試程序。在ArkTS中,使用console.log()語句可以進行調(diào)試輸出,輸出結(jié)果可以在DevEcoStudio底部的“日志”面板中查看。2.2.1調(diào)試輸出console.log()語句的語法格式如下。console.log(參數(shù)1,參數(shù)2,…);小括號中的參數(shù)表示要輸出的內(nèi)容,可以傳入1個或多個參數(shù),多個參數(shù)使用英文逗號分隔,第1個參數(shù)必須是字符串,其余參數(shù)如果是其他類型數(shù)據(jù)則會被自動轉(zhuǎn)為字符串?!啊庇糜谠谖臋n中說明在參數(shù)2的后面還可以寫更多參數(shù),實際編寫代碼時不用寫“…”。語句末尾的分號“;”表示語句分隔符,在它后面可以寫下一條語句。通過換行的方式可以省略語句分隔符。2.2.1調(diào)試輸出下面演示如何在項目中進行調(diào)試輸出。2.2.2注釋

先定一個小目標!掌握注釋的使用方法,能夠合理運用單行注釋、多行注釋增強代碼的可讀性2.2.2注釋注釋用于對代碼進行解釋和說明,其目的是讓代碼閱讀者能夠更加輕松地了解代碼的設(shè)計邏輯、用途等。在實際開發(fā)中,為了提高代碼的可讀性、方便代碼的維護和升級,可以在編寫代碼時添加注釋。注釋在程序解析時會被忽略。2.2.2注釋1.單行注釋單行注釋以“//”開始,到該行結(jié)束為止,示例代碼如下。console.log('你好'); //調(diào)試輸出2.多行注釋多行注釋以“/*”開始,以“*/”結(jié)束,示例代碼如下。/*調(diào)試輸出*/console.log('你好');變量、常量和數(shù)據(jù)類型2.32.3.1變量

先定一個小目標!掌握變量,能夠使用變量存儲數(shù)據(jù)2.3.1變量變量是指程序在內(nèi)存中申請的一塊用來存放數(shù)據(jù)的空間,用于存儲程序運行過程中產(chǎn)生的臨時數(shù)據(jù)。例如,將兩個數(shù)字相乘的結(jié)果保存到變量中,以便在后面的計算中使用。在使用變量時,需要先聲明變量。聲明變量后,就可以為變量賦值,從而完成數(shù)據(jù)的存儲。2.3.1變量聲明變量的語法格式如下。let是聲明變量的關(guān)鍵字。變量名是指變量的名稱。類型通常會設(shè)置為數(shù)據(jù)類型、類或接口等。例如,字符串'a'對應(yīng)的數(shù)據(jù)類型是string,數(shù)字1對應(yīng)的數(shù)據(jù)類型是number。關(guān)于數(shù)據(jù)類型、類和接口會在后面進行講解。let變量名:類型;2.3.1變量ArkTS允許一個變量有多種類型,將“類型”寫成“類型1|類型2|…”的形式即可。例如,“string|number”表示變量的值可以是字符串或數(shù)字。但ArkTS不支持TypeScript中的any類型。any類型表示任意類型。為了提高代碼的嚴謹性和運行效率,ArkTS禁用了any類型。2.3.1變量變量的命名規(guī)則如下。①不能以數(shù)字開頭,且不能包含+、-等運算符,如01user、user-02是非法的變量名。②嚴格區(qū)分大小寫,如apple和Apple是兩個不同的變量名。③不能使用ArkTS中的關(guān)鍵字命名。關(guān)鍵字是ArkTS中被事先定義并賦予特殊含義的單詞,例如let、if、while就是ArkTS中的關(guān)鍵字。為了提高代碼的可讀性,在對變量命名時應(yīng)遵循以下建議。①使用字母、數(shù)字、下劃線或美元符號($)命名,如score、set_name、$a、user01。②盡量做到“見其名知其義”,如age表示年齡、num表示數(shù)字等。③用下劃線分隔多個單詞,如show_message;或采用駝峰命名法,即變量的第1個單詞首字母小寫,后面的單詞首字母大寫,如leftHand、myFirstName等。2.3.1變量聲明變量后,為變量賦值的語法格式如下。聲明變量與為變量賦值的代碼可以寫在同一行,這個過程又稱為定義變量或初始化變量,語法格式如下。在定義變量時,如果通過“值”可以自動推斷出變量的類型,則變量名后面的“:類型”可以省略。變量名=值;let變量名:類型=值;2.3.1變量當需要聲明多個變量時,可以寫多行聲明變量的代碼。除了這種方式以外,還可以在一行代碼中同時聲明多個變量,多個變量之間使用英文逗號分隔,語法格式如下。在一行代碼中聲明多個變量并為多個變量賦值,語法格式如下。let變量名1:類型,變量名2:類型,…;let變量名1:類型=值1,變量名2:類型=值2;2.3.1變量下面通過代碼演示變量的使用方法。使用console.log()輸出變量student01和student02的值,示例代碼如下。//聲明變量student01并賦值為'小明',設(shè)置類型letstudent01:string='小明';//聲明變量student02并賦值為'小智',省略類型letstudent02='小智';console.log(student01); //輸出結(jié)果:小明console.log(student02); //輸出結(jié)果:小智2.3.2常量

先定一個小目標!掌握常量,能夠使用常量存儲數(shù)據(jù)2.3.2常量常量是一種在程序運行過程中始終保持不變的數(shù)據(jù),例如數(shù)學(xué)中的圓周率在程序中就可以保存為一個常量。在ArkTS中,常量分為字面量和使用const關(guān)鍵字聲明的常量。2.3.2常量字面量字面量用于表達源碼中的固定值。字面量在程序中一旦被定義,其值就不會改變,所以可以將字面量稱為常量。ArkTS中常見的字面量如下。①數(shù)字字面量:如1、2、3。②字符串字面量:如'用戶名'、"密碼"。③布爾字面量:如true、false。④數(shù)組字面量:如[1,2,3]。⑤對象字面量:如{username:'小智',password:'123456'}。2.3.2常量2.使用const關(guān)鍵字聲明的常量使用const關(guān)鍵字聲明的常量類似于變量,但是它的值不能發(fā)生改變。在為常量命名時,為了方便將它與變量區(qū)分,習(xí)慣上將常量的名稱設(shè)置為全大寫。JavaScript設(shè)計之初并沒有const關(guān)鍵字,const關(guān)鍵字是隨著JavaScript的發(fā)展在后期加入的,并沿用到ArkTS中。const關(guān)鍵字在聲明變量的語法基礎(chǔ)上增加了一種使變量的值保持不變的語法約束,因此可以將使用const關(guān)鍵字聲明的變量稱為常量?;谶@樣的歷史原因,在不需要區(qū)分變量和常量的語境下,變量一詞也籠統(tǒng)地包含使用const關(guān)鍵字聲明的常量,這種常量可以理解為“不可變的變量”。當使用const關(guān)鍵字聲明的常量的值是數(shù)組、對象時,數(shù)組的元素、對象的成員是可以改變的,但是常量本身不能被重新賦值。注意2.3.2常量下面通過代碼演示如何使用const關(guān)鍵字聲明常量,并輸出常量的值,示例代碼如下。上述代碼聲明了一個常量STUDENT并賦值為'小明',使用console.log()輸出了常量STUDENT的值。constSTUDENT:string='小明';console.log(STUDENT); //輸出結(jié)果:小明2.3.3數(shù)據(jù)類型

先定一個小目標!掌握數(shù)據(jù)類型,能夠正確設(shè)置變量的數(shù)據(jù)類型2.3.3數(shù)據(jù)類型在ArkTS中常用的數(shù)據(jù)類型有:string(字符串)number(數(shù)字)boolean(布爾)null(空)void(空)undefined(未定義)object(對象)2.3.3數(shù)據(jù)類型stringstring表示字符串,需要使用單引號(')、雙引號(")或反引號(`)標注。字符串中的字符可以是0個或多個。其中,使用反引號(`)標注的字符串稱為模板字符串,在模板字符串中通過“${變量名}”的方式可以使用變量的值。2.3.3數(shù)據(jù)類型下面通過代碼演示string數(shù)據(jù)類型的使用方法。聲明3個變量,分別給這3個變量賦值為使用單引號、雙引號和反引號標注的字符串,并進行調(diào)試輸出,示例代碼如下。letstu1:string='小明';letstu2:string="小智";letintroduce:string=`${stu1}和${stu2}是好朋友`;console.log(stu1); //輸出結(jié)果:小明console.log(stu2); //輸出結(jié)果:小智console.log(introduce); //輸出結(jié)果:小明和小智是好朋友2.3.3數(shù)據(jù)類型在字符串中可以使用轉(zhuǎn)義字符來表示一些特殊符號。轉(zhuǎn)義字符以“\”開始,常用的轉(zhuǎn)義字符如下表所示。轉(zhuǎn)義字符含義\'單引號“'”\''雙引號“"”\`反引號“`”\n換行符\t水平制表符\f換頁符\b退格符2.3.3數(shù)據(jù)類型轉(zhuǎn)義字符含義\xhh由兩位十六進制數(shù)字hh表示的ISO-8859-1字符,如\x61表示“a”\v垂直制表符\r回車符\\反斜線“\”\0空字符\uhhhh由四位十六進制數(shù)字hhhh表示的Unicode字符,如\u597d表示“好”2.3.3數(shù)據(jù)類型2.numbernumber表示數(shù)字,分為整數(shù)、浮點數(shù)(可以理解為小數(shù))和特殊值。在數(shù)字前面還可以添加“-”符號表示負數(shù),添加“+”符號表示正數(shù)(通常情況下省略“+”)。(1)整數(shù)整數(shù)通常使用十進制表示,此外還可以使用二進制、八進制、十六進制來表示。二進制數(shù)以0b開頭,八進制數(shù)以0o開頭,十六進制數(shù)以0x開頭,其中,b、o、x不區(qū)分大小寫。2.3.3數(shù)據(jù)類型下面通過代碼演示number數(shù)據(jù)類型中整數(shù)的使用方法。聲明4個變量,分別給這4個變量賦值為二進制、八進制、十進制、十六進制的整數(shù),示例代碼如下。letbin:number=0b11010; //二進制表示的26letoct:number=0o32; //八進制表示的26letdec:number=26; //十進制表示的26lethex:number=0x1a; //十六進制表示的262.3.3數(shù)據(jù)類型(2)浮點數(shù)浮點數(shù)可以使用標準格式和科學(xué)記數(shù)法表示。標準格式是指數(shù)學(xué)中小數(shù)的寫法,如1.10。科學(xué)記數(shù)法是指將數(shù)字表示成一個數(shù)與10的n次冪相乘的形式,在程序中使用E或e后面跟一個數(shù)字的方式表示10的n次冪,如2.15E3表示2.15

103。2.3.3數(shù)據(jù)類型下面通過代碼演示number數(shù)據(jù)類型中浮點數(shù)的使用方法。聲明4個變量,分別使用標準格式和科學(xué)記數(shù)法格式表示浮點數(shù),示例代碼如下。//使用標準格式表示浮點數(shù)letfNum01:number=-3.12;letfNum02:number=3.12;//使用科學(xué)記數(shù)法格式表示浮點數(shù)letfNum03:number=3.14E5;letfNum04:number=7.35E-5;2.3.3數(shù)據(jù)類型(3)特殊值number類型有3個特殊值,分別是Infinity(無窮大)、-Infinity(無窮?。┖蚇aN(NotaNumber,非數(shù)字)。當計算結(jié)果超出了最大可表示的數(shù)字時,會返回Infinity。當計算結(jié)果超出了最小可表示的數(shù)字時,會返回-Infinity。如果進行了非法的運算操作,則運行結(jié)果為NaN。2.3.3數(shù)據(jù)類型3.Booleanboolean表示布爾,該類型只有true(真)和false(假)兩個值。boolean數(shù)據(jù)類型通常用于表示程序中的邏輯判斷結(jié)果。true表示事件成功或條件成立的情況,false表示事件失敗或條件不成立的情況。例如,判斷數(shù)字3是否大于數(shù)字2,其結(jié)果用boolean數(shù)據(jù)類型表示為true。2.3.3數(shù)據(jù)類型下面通過代碼演示boolean數(shù)據(jù)類型的使用方法。聲明兩個變量,分別賦值為true和false,示例代碼如下。letresult01:boolean=true;letresult02:Boolean=false;2.3.3數(shù)據(jù)類型4.nullnull表示空,通常用于表示變量未指向任何對象,該類型只有一個null值。下面通過代碼演示null數(shù)據(jù)類型的使用方法。聲明一個變量,將其賦值為null,示例代碼如下。letempty:null=null;2.3.3數(shù)據(jù)類型5.voidvoid表示空,通常用于表示函數(shù)沒有返回值,該類型只有一個void值。關(guān)于函數(shù)的相關(guān)內(nèi)容會在后面進行講解。下面通過代碼演示void數(shù)據(jù)類型的使用方法。聲明一個變量,其類型為void,示例代碼如下。letdata:void;2.3.3數(shù)據(jù)類型6.undefinedundefined表示未定義。當聲明的變量還未被賦值時,該變量的值為undefined。下面通過代碼演示undefined數(shù)據(jù)類型的使用方法。聲明兩個變量,將第1個變量賦值為undefined,第2個變量不進行賦值,示例代碼如下。letnum01:undefined=undefined;letnum02:undefined;2.3.3數(shù)據(jù)類型7.objectobject表示對象,它是一種引用數(shù)據(jù)類型,而其他數(shù)據(jù)類型則屬于基本數(shù)據(jù)類型。引用數(shù)據(jù)類型的特點是當它被賦值給變量時,變量保存的是對象的引用,同一個對象可以被多個變量引用,從而節(jié)省內(nèi)存空間。2.3.3數(shù)據(jù)類型ArkTS中的對象有多種形式,常見的形式如下。①字面量對象:通過對象字面量語法“{}”創(chuàng)建的對象,通常用于保存一些數(shù)據(jù)。②實例:通過類(class)或構(gòu)造函數(shù)創(chuàng)建的對象,這樣的對象被稱為某個類或構(gòu)造函數(shù)的實例。③函數(shù):用于對一些代碼進行封裝,從而方便使用。函數(shù)的常見形式有用戶自定義函數(shù)、內(nèi)置函數(shù)、方法、構(gòu)造函數(shù)等。④數(shù)組:用于保存一批相同數(shù)據(jù)類型的數(shù)據(jù)。⑤枚舉:用于預(yù)先定義一些值,方便在開發(fā)中使用。⑥內(nèi)置對象:預(yù)先提供的一些對象,方便在開發(fā)中使用。⑦包裝對象:對基本數(shù)據(jù)類型的數(shù)據(jù)自動裝箱產(chǎn)生的對象,用于使一些基本數(shù)據(jù)類型的數(shù)據(jù)可以像對象一樣使用。運算符2.42.4.1算術(shù)運算符

先定一個小目標!掌握算術(shù)運算符,能夠靈活運用算術(shù)運算符完成運算2.4.1算術(shù)運算符算術(shù)運算符用于對兩個數(shù)字或變量進行算術(shù)運算,與數(shù)學(xué)中的加法、減法、乘法、除法運算類似。運算符運算示例結(jié)果+加3+36-減6-33*乘3*515/除8/24%取模(取余數(shù))5%75**冪運算4**216++自增(前置)a=2;b=++a;a=3;b=3;自增(后置)a=2;b=a++;a=3;b=2;--自減(前置)a=2;b=--a;a=1;b=1;自減(后置)a=2;b=a--;a=1;b=2;2.4.1算術(shù)運算符自增和自減運算可以快速對變量的值進行遞增或遞減,自增和自減運算符可以放在變量前也可以放在變量后。當自增(或自減)運算符放在變量前時,稱為前置自增(或前置自減)。當自增(或自減)運算符放在變量后時,稱為后置自增(或后置自減)。前置和后置的區(qū)別在于,前置返回的是計算后的結(jié)果,后置返回的是計算前的結(jié)果。2.4.1算術(shù)運算符下面通過代碼演示自增和自減運算,示例代碼如下。leta=2,b=2,c=3,d=3;//自增console.log('++a的值為',++a); //輸出結(jié)果:++a的值為3console.log('a的值為',a); //輸出結(jié)果:a的值為3console.log('b++的值為',b++); //輸出結(jié)果:b++的值為2console.log('b的值為',b); //輸出結(jié)果:b的值為3//自減console.log('--c的值為',--c); //輸出結(jié)果:--c的值為2console.log('c的值為',c); //輸出結(jié)果:c的值為2console.log('d--的值為',d--); //輸出結(jié)果:d--的值為3console.log('d的值為',d); //輸出結(jié)果:d的值為22.4.1算術(shù)運算符在實際應(yīng)用算術(shù)運算符的過程中,還需要注意以下4點。①進行四則混合運算時,運算順序要遵循數(shù)學(xué)中“先乘除后加減”的原則。例如,運行“l(fā)eta=2+8-3*2/2;”后,a的值是7。②在進行取模運算時,運算結(jié)果的正負取決于被模數(shù)(%左側(cè)的數(shù))的正負,與模數(shù)(%右側(cè)的數(shù))的正負無關(guān)。例如,運行“l(fā)eta=(-8)%7,b=8%(-7);”后,a的值為-1,b的值為1。③在開發(fā)中盡量避免使用浮點數(shù)進行運算,因為運算結(jié)果可能存在偏差。例如,0.1+0.2正常的計算結(jié)果應(yīng)該是0.3,但是ArkTS的計算結(jié)果卻是0.30000000000000004。此時,可以將參與運算的小數(shù)轉(zhuǎn)換為整數(shù),計算后再轉(zhuǎn)換為小數(shù)。例如,將0.1和0.2分別乘10,相加后再除以10,即可得到0.3。④“+”和“-”在運算符中還可以表示正數(shù)或負數(shù)。例如,+2.1+-1.1的計算結(jié)果為1。2.4.2字符串運算符

先定一個小目標!掌握字符串運算符,能夠靈活運用字符串運算符完成運算2.4.2字符串運算符當“+”運算符左右兩側(cè)的數(shù)據(jù)至少有一個為string數(shù)據(jù)類型時,“+”表示字符串運算符,用于實現(xiàn)字符串的拼接。2.4.2字符串運算符下面通過代碼演示字符串運算符的使用方法。聲明兩個變量,第1個變量存放用戶名“小智”,第2個變量存放性別“男”,如果需要顯示“小智,男”,就需要將字符串“小智”“,”“男”進行拼接,示例代碼如下。使用字符串運算符將字符串與數(shù)字進行拼接,示例代碼如下。letusername='小智';letgender='男';console.log(username+','+gender); //輸出結(jié)果:小智,男console.log('小智,'+18); //輸出結(jié)果:小智,182.4.2字符串運算符表達式是一組代碼的集合,每個表達式的運行結(jié)果都有一個值。變量和各種類型的數(shù)據(jù)都可以用于構(gòu)成表達式。一個最簡單的表達式可以是一個變量或字面量。假設(shè)有number類型的變量a和b,下面列舉一些常見的表達式。多學(xué)一招:表達式7; //表達式“7”a=7; //將表達式“7”的值賦值給ab=a=7; //將表達式“a=7”的值賦值給ba+1; //將表達式“a”的值與表達式“1”的值相加a=a+1; //將表達式“a+1”的值賦值給aconsole.log(''+b); //將表達式“''+b”的值作為參數(shù)傳給console.log()2.4.3賦值運算符

先定一個小目標!掌握賦值運算符,能夠靈活運用賦值運算符完成運算2.4.3賦值運算符賦值運算符用于將運算符右側(cè)的值賦給左側(cè)的變量。運算符運算示例結(jié)果=賦值a=1,b=2;a=1,b=2;+=加并賦值a=1,b=2;a+=b;a=3,b=2;字符串拼接并賦值a='abc';a+='def';a='abcdef';-=減并賦值a=4,b=3;a-=b;a=1,b=3;*=乘并賦值a=4,b=3;a*=b;a=12,b=3;/=除并賦值a=4,b=2;a/=b;a=2,b=2;%=取模并賦值a=4,b=3;a%=b;a=1,b=3;2.4.3賦值運算符賦值運算符用于將運算符右邊的值賦給左邊的變量。運算符運算示例結(jié)果**=冪運算并賦值a=4;a**=2;a=16;<<=左移位并賦值a=9,b=2;a<<=b;a=36,b=2;>>=右移位并賦值a=-9,b=2;a>>=b;a=-3,b=2;>>>=無符號右移位并賦值a=-9,b=2;a>>>=b;a=1073741821,b=2;&=按位與并賦值a=3,b=9;a&=b;a=1,b=9;^=按位異或并賦值a=3,b=9;a^=b;a=10,b=9;|=按位或并賦值a=3,b=9;a|=b;a=11,b=9;2.4.3賦值運算符下面以+=、-=、*=、/=、%=、**=為例演示賦值運算符的使用方法,示例代碼如下。letnum=5;num+=3; //相當于num=num+3console.log('',num); //輸出結(jié)果:8num-=4; //相當于num=num-4console.log('',num); //輸出結(jié)果:4num*=2; //相當于num=num*2console.log('',num); //輸出結(jié)果:8num/=2; //相當于num=num/2console.log('',num); //輸出結(jié)果:4num%=2; //相當于num=num%2console.log('',num); //輸出結(jié)果:0num**=2; //相當于num=num**2console.log('',num); //輸出結(jié)果:02.4.4比較運算符

先定一個小目標!掌握比較運算符,能夠靈活運用比較運算符完成運算2.4.4比較運算符比較運算符用于對兩個數(shù)據(jù)進行比較,比較返回的結(jié)果是true或false。運算符運算示例結(jié)果>

大于3>2true<

小于3<2false>=大于或等于3>=2true<=小于或等于3<=2false==等于3==3true!=不等于3!=3false===全等3===3true!==不全等3!==3false2.4.4比較運算符需要說明的是,“==”和“!=”在JavaScript中比較不同數(shù)據(jù)類型的數(shù)據(jù)時會自動將其轉(zhuǎn)換成相同數(shù)據(jù)類型后再比較,而在ArkTS中比較不同數(shù)據(jù)類型的數(shù)據(jù)會報錯?!?==”和“!==”在比較時不會進行數(shù)據(jù)類型的轉(zhuǎn)換。下面通過代碼演示比較運算符的使用方法,示例代碼如下。console.log('',13>12); //輸出結(jié)果:trueconsole.log('',13<12); //輸出結(jié)果:falseconsole.log('',13>=12); //輸出結(jié)果:trueconsole.log('',13<=12); //輸出結(jié)果:falseconsole.log('',13==13); //輸出結(jié)果:trueconsole.log('',13!=13); //輸出結(jié)果:falseconsole.log('',13===13); //輸出結(jié)果:trueconsole.log('',13!==13); //輸出結(jié)果:false2.4.5邏輯運算符

先定一個小目標!掌握邏輯運算符,能夠靈活運用邏輯運算符完成運算2.4.5邏輯運算符在開發(fā)中,有時需要在多個條件同時成立時才會執(zhí)行后續(xù)的代碼,例如,只有用戶輸入了有效的用戶名和密碼,才能登錄成功。在程序中,如果要實現(xiàn)條件的判斷,可以使用邏輯運算符。運算符運算示例結(jié)果&&與a&&b如果a的值為true,則結(jié)果為b的值;如果a的值為false,則結(jié)果為a的值||或a||b如果a的值為true,則結(jié)果為a的值;如果a的值為false,則結(jié)果為b的值!非!a如果a為true,則結(jié)果為false;如果a為false,則結(jié)果為true2.4.5邏輯運算符邏輯運算符并不是直接判斷一個值是否為true或false,而是采用評估的方式進行判斷。所謂評估是源自JavaScript中的一種對待不同數(shù)據(jù)類型數(shù)據(jù)的邏輯判斷規(guī)則,這種規(guī)則會將false、0、''、null、undefined、NaN這些值評估為false,將其他值評估為true。ArkTS也沿用了這樣的規(guī)則。2.4.5邏輯運算符下面通過代碼演示邏輯運算符的使用方法,示例代碼如下。//邏輯“與”console.log('',100&&200); //輸出結(jié)果:200console.log('',0&&123); //輸出結(jié)果:0console.log('',3>2&&4>3); //輸出結(jié)果:trueconsole.log('',2<1&&3>1); //輸出結(jié)果:false//邏輯“或”console.log('',100||200); //輸出結(jié)果:100console.log('',0||123); //輸出結(jié)果:123console.log('',3>2||4<3); //輸出結(jié)果:trueconsole.log('',2<1||3<1); //輸出結(jié)果:false//邏輯“非”console.log('',!1); //輸出結(jié)果:falseconsole.log('',!0); //輸出結(jié)果:true2.4.5邏輯運算符在使用“&&”和“||”運算符時,是按照從左到右的順序進行求值的,在運算時可能會出現(xiàn)“短路”的情況。“短路”是指如果通過邏輯運算符左邊的表達式能夠確定最終值,則不計算邏輯運算符右側(cè)表達式的值。下面通過代碼演示邏輯運算符出現(xiàn)“短路”的情況,示例代碼如下。letaa=1;false&&aa++; //“&&”短路情況console.log('',aa); //輸出結(jié)果:1true||aa++; //“||”短路情況console.log('',aa); //輸出結(jié)果:12.4.6三元運算符

先定一個小目標!掌握三元運算符,能夠靈活運用三元運算符完成運算2.4.6三元運算符三元運算符包括“?”和“:”,用于組成三元表達式。三元表達式用于根據(jù)條件表達式的值來決定“?”后面的表達式和“:”后面的表達式哪個被運行。三元表達式的語法格式如下。如果條件表達式為true,則返回表達式1的運行結(jié)果。如果條件表達式為false,則返回表達式2的運行結(jié)果。三元運算符在判斷true和false時,會采用評估的方式,即false、0、''、null、undefined、NaN這些值將被評估為false,其他值將被評估為true。條件表達式?表達式1:表達式22.4.6三元運算符下面通過代碼演示三元運算符的使用,示例代碼如下。letage=18;letstatus=age>=18?'已成年':'未成年';console.log(status); //輸出結(jié)果:已成年2.4.7數(shù)據(jù)類型檢測運算符

先定一個小目標!掌握數(shù)據(jù)類型檢測運算符,能夠檢測數(shù)據(jù)的類型2.4.7數(shù)據(jù)類型檢測運算符使用typeof運算符可以對數(shù)據(jù)的類型進行檢測。typeof運算符以字符串形式返回檢測結(jié)果,語法格式如下。第1種語法格式只能檢測單個數(shù)據(jù)。第2種語法格式可以對表達式進行檢測。//第1種語法格式typeof需要進行數(shù)據(jù)類型檢測的數(shù)據(jù)//第2種語法格式typeof(需要進行數(shù)據(jù)類型檢測的數(shù)據(jù))2.4.7數(shù)據(jù)類型檢測運算符下面通過代碼演示如何使用typeof運算符檢測數(shù)據(jù)類型,示例代碼如下。console.log(typeof23); //輸出結(jié)果:numberconsole.log(typeof'水果'); //輸出結(jié)果:stringconsole.log(typeoffalse); //輸出結(jié)果:booleanconsole.log(typeof[]); //輸出結(jié)果:object2.4.8運算符的優(yōu)先級

先定一個小目標!熟悉運算符的優(yōu)先級,能夠描述常見運算符的優(yōu)先級2.4.8運算符的優(yōu)先級在ArkTS中,運算符遵循先后的運算順序,這種順序稱作運算符的優(yōu)先級。結(jié)合方向運算符無()左(new除外).、[]、new(有參數(shù),無結(jié)合性)右new(無參數(shù))無++(后置)、--(后置)右!、~、-(負數(shù))、+(正數(shù))、++(前置)、--(前置)、typeof、delete右**左*、/、%左+、-左<<、>>、>>>左<、<=、>、>=、in、instanceof2.4.8運算符的優(yōu)先級結(jié)合方向運算符左==、!=、===、!==左&左^左|左&&左||右?:右=、+=、-=、*=、/=、%=、<<=、>>=、>>>=、&=、^=、|=左,2.4.8運算符的優(yōu)先級運算符的優(yōu)先級由上到下遞減,同一單元格中的運算符具有相同的優(yōu)先級。左結(jié)合方向表示同級運算符的運算順序為從左向右,右結(jié)合方向表示同級運算符的運算順序為從右向左。運算符中小括號“()”的優(yōu)先級最高,在進行運算時要首先計算小括號內(nèi)的表達式。如果表達式中有多個小括號,則最內(nèi)層小括號的優(yōu)先級最高。2.4.8運算符的優(yōu)先級下面通過代碼演示未使用小括號的表達式和使用小括號的表達式的運算順序,示例代碼如下。當表達式中有多種運算符時,可根據(jù)需要為表達式添加小括號,這樣可以使代碼更清晰,并且可以避免錯誤的發(fā)生。console.log('',3+4*5);//輸出結(jié)果:23console.log('',(3+4)*5);//輸出結(jié)果:35流程控制2.52.5.1選擇結(jié)構(gòu)

先定一個小目標!掌握選擇結(jié)構(gòu)語句,能夠根據(jù)實際需求選擇合適的選擇結(jié)構(gòu)語句2.5.1選擇結(jié)構(gòu)ArkTS提供了選擇結(jié)構(gòu)語句(或稱為條件判斷語句)來實現(xiàn)程序的選擇結(jié)構(gòu)。選擇結(jié)構(gòu)語句是指根據(jù)語句中的條件表達式進行判斷,進而運行相對應(yīng)的代碼。常用的選擇結(jié)構(gòu)語句有if語句、if…else語句、if…elseif…else語句和switch語句。2.5.1選擇結(jié)構(gòu)if語句if語句也稱為單分支語句、條件語句,具體語法格式如下。如果代碼段中只有一條語句,則可以省略大括號。if(條件表達式){

代碼段}2.5.1選擇結(jié)構(gòu)if語句在判斷true和false時,會采用評估的方式進行判斷。其他選擇結(jié)構(gòu)語句也都采用評估的方式進行判斷,即false、0、''、null、undefined、NaN這些值將被評估為false,其他值將被評估為true,后續(xù)不贅訴。2.5.1選擇結(jié)構(gòu)下面通過代碼演示if語句的使用方法,實現(xiàn)只有當年齡大于或等于18周歲時,才輸出“已成年”,否則不輸出任何信息,示例代碼如下。letage1=23;if(age1>=18){console.log('已成年'); //當age1>=18時輸出“已成年”}2.5.1選擇結(jié)構(gòu)2.if…else語句if…else語句也稱為雙分支語句,具體語法格式如下。if(條件表達式){

代碼段1}else{

代碼段2}2.5.1選擇結(jié)構(gòu)下面通過代碼演示if…else語句的使用方法,實現(xiàn)當年齡大于或等于18周歲時,輸出“已成年”,否則輸出“未成年”,示例代碼如下。letage2=17;if(age2>=18){console.log('已成年'); //當age2>=18時輸出“已成年”}else{console.log('未成年'); //當age2<18時輸出“未成年”}2.5.1選擇結(jié)構(gòu)3.if…elseif…else語句if…elseif…else語句也稱為多分支語句,是指有多個條件表達式的語句,可針對不同情況進行不同的處理,具體語法格式如下。if(條件表達式1){

代碼段1}elseif(條件表達式2){

代碼段2}…elseif(條件表達式n){

代碼段n}else{

代碼段n+1}2.5.1選擇結(jié)構(gòu)if…elseif…else語句的運行流程如下圖所示。2.5.1選擇結(jié)構(gòu)下面通過代碼演示if…elseif…else語句的使用方法。對學(xué)生考試成績按分數(shù)進行等級的劃分,90~100分為優(yōu)秀,80~90(不含)分為良好,70~80(不含)分為中等,60~70(不含)分為及格,小于60分為不及格,示例代碼如下。letscore=78;if(score>=90){console.log('優(yōu)秀'); //當score>=90時輸出“優(yōu)秀”}elseif(score>=80){console.log('良好'); //當score>=80且score<90時輸出“良好”}elseif(score>=70){console.log('中等'); //當score>=70且score<80時輸出“中等”}elseif(score>=60){console.log('及格'); //當score>=60且score<70時輸出“及格”}else{console.log('不及格'); //當score<60時輸出“不及格”}2.5.1選擇結(jié)構(gòu)4.switch語句switch語句也稱為多分支語句,該語句與if…elseif…else語句類似,區(qū)別是switch語句只能針對某個表達式的值做出判斷,從而決定運行哪一段代碼。switch(表達式){case值1

代碼段1;break;case值2

代碼段2;break;…default:

代碼段n;}2.5.1選擇結(jié)構(gòu)switch語句的運行流程如下圖所示。2.5.1選擇結(jié)構(gòu)下面通過代碼演示switch語句的使用方法。判斷變量week的值,當week變量的值為1~6時,輸出星期一~星期六,當變量week的值為0時,輸出星期日;如果沒有與變量week的值相等的case值,則輸出“輸入錯誤,請重新輸入”。2.5.2循環(huán)結(jié)構(gòu)

先定一個小目標!掌握循環(huán)語句,能夠根據(jù)實際需求選擇合適的循環(huán)語句2.5.2循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)是為了在程序中反復(fù)運行某個功能而設(shè)置的一種程序結(jié)構(gòu),它用于實現(xiàn)一段代碼的重復(fù)運行。例如,連續(xù)輸出1~100的整數(shù),如果不使用循環(huán)結(jié)構(gòu),則需要編寫100次輸出代碼才能實現(xiàn),而使用循環(huán)結(jié)構(gòu),僅使用幾行代碼就能讓程序自動輸出。2.5.2循環(huán)結(jié)構(gòu)在循環(huán)結(jié)構(gòu)中,由循環(huán)體和循環(huán)條件組成的語句稱為循環(huán)語句,一組被重復(fù)運行的語句稱為循環(huán)體,循環(huán)體能否重復(fù)運行,取決于循環(huán)條件。ArkTS提供了3種循環(huán)語句,分別是for語句、while語句、do…while語句。2.5.2循環(huán)結(jié)構(gòu)for語句在程序開發(fā)中,for語句通常用于循環(huán)次數(shù)已知的情況,其語法格式如下。①初始化變量:初始化一個用作計數(shù)器的變量,通常使用let關(guān)鍵字聲明一個變量并賦初始值。②條件表達式:決定循環(huán)是否繼續(xù),即循環(huán)條件。如果條件表達式的值為true,表示循環(huán)繼續(xù);如果條件表達式的值為false,表示循環(huán)結(jié)束。③操作表達式:通常用于對計數(shù)器變量進行更新(遞增或遞減),是每次循環(huán)中最后運行的代碼。for(初始化變量;條件表達式;操作表達式){

循環(huán)體}2.5.2循環(huán)結(jié)構(gòu)for語句在判斷true和false時,會采用評估的方式,即false、0、''、null、undefined、NaN這些值將被評估為false,其他值將被評估為true。其他循環(huán)結(jié)構(gòu)語句也都采用評估的方式進行判斷,后續(xù)不贅訴。for語句的運行流程如下圖所示。2.5.2循環(huán)結(jié)構(gòu)下面通過代碼演示for語句的使用方法。使用for語句實現(xiàn)輸出1~100的整數(shù),示例代碼如下。for(leti=1;i<=100;i++){console.log('',i);

//輸出1~100(每次循環(huán)輸出一個數(shù)字)}2.5.2循環(huán)結(jié)構(gòu)2.while語句while語句和for語句可以相互轉(zhuǎn)換,都能夠?qū)崿F(xiàn)循環(huán)。在無法確定循環(huán)次數(shù)的情況下,while語句更適用。while語句的語法結(jié)構(gòu)如下。while(條件表達式){

循環(huán)體}2.5.2循環(huán)結(jié)構(gòu)下面使用while語句實現(xiàn)輸出1~100的整數(shù),示例代碼如下。leti=1;while(i<=100){console.log('',i);i++;}2.5.2循環(huán)結(jié)構(gòu)3.do…while語句do…while語句和while語句類似,其區(qū)別在于while語句是先判斷條件表達式的值,再根據(jù)條件表達式的值決定是否運行循環(huán)體,而do…while語句會無條件地運行一次循環(huán)體,然后判斷條件表達式的值,根據(jù)條件表達式的值決定是否繼續(xù)運行循環(huán)體。2.5.2循環(huán)結(jié)構(gòu)do{

循環(huán)體}while(條件表達式);do…while語句的語法格式如下。do…while語句先運行循環(huán)體,然后判斷條件表達式的值。如果條件表達式的值為true,則進入下一次循環(huán),否則結(jié)束循環(huán)。2.5.2循環(huán)結(jié)構(gòu)letj=1;do{console.log('',j);j++;}while(j<=100)下面通過代碼演示do…while語句的使用方法。使用do…while語句實現(xiàn)輸出1~100的整數(shù),示例代碼如下。2.5.3跳轉(zhuǎn)語句

先定一個小目標!掌握跳轉(zhuǎn)語句,能夠靈活運用continue語句或break語句實現(xiàn)程序中的流程跳轉(zhuǎn)2.5.3跳轉(zhuǎn)語句循環(huán)語句運行后,會根據(jù)設(shè)置好的循環(huán)條件停止運行。在循環(huán)運行過程中,如果需要跳出本次循環(huán)或跳出整個循環(huán),就需要用到跳轉(zhuǎn)語句。常用的跳轉(zhuǎn)語句有continue語句和break語句。2.5.3跳轉(zhuǎn)語句1.continue語句continue語句可以在for語句、while語句和do…while語句的循環(huán)體中使用,用于立即跳出本次循環(huán),即跳過continue語句后面的代碼,繼續(xù)下一次循環(huán)。例如,小智在吃桃子,一共有6個桃子,吃到第2個桃子時,小智發(fā)現(xiàn)里面有蟲子,就扔掉第2個桃子,繼續(xù)吃剩下的4個桃子。下面通過代碼演示小智扔掉第2個桃子,繼續(xù)吃剩下的4個桃子的過程,示例代碼如下。for(leti=1;i<=6;i++){if(i==2){

continue;//跳出本次循環(huán),直接跳到i++}console.log(`小智吃完了第${i}個桃子`);}2.5.3跳轉(zhuǎn)語句2.break語句當在for語句、while語句和do…while語句中使用break語句時,表示立即跳出整個循環(huán),也就是結(jié)束循環(huán)。例如,小智在吃桃子,一共有6個桃子,吃到第4個桃子時,小智發(fā)現(xiàn)里面有蟲子,于是扔掉了有蟲子的桃子并且不再吃剩下的桃子。下面通過代碼演示小智吃桃子的過程,示例代碼如下。for(leti=1;i<=6;i++){if(i==4){break;//跳出整個循環(huán)

}console.log(`小智吃完了第${i}個桃子`);}2.5.3跳轉(zhuǎn)語句break語句還可以用于跳轉(zhuǎn)到指定的標簽語句處,實現(xiàn)循環(huán)嵌套中的多層跳轉(zhuǎn)。在使用break語句前,需要先為語句添加標簽。為語句添加標簽的語法格式如下。為語句添加標簽后,使用break語句跳轉(zhuǎn)到指定標簽的語法格式如下。標簽名:

語句break標簽名;注意標簽語句必須在使用之前定義,否則會出現(xiàn)找不到標簽的情況。2.5.3跳轉(zhuǎn)語句下面通過代碼演示標簽語句的使用方法,示例代碼如下。outerLoop:for(leti=0;i<10;i++){for(letj=0;j<1;j++){if(i==5){breakouterLoop;}console.log('i='+i+',j='+j);}}數(shù)組和枚舉2.62.6.1數(shù)組

先定一個小目標!掌握數(shù)組,能夠使用數(shù)組存儲數(shù)據(jù)2.6.1數(shù)組在實際開發(fā)中,經(jīng)常需要保存一批相關(guān)聯(lián)的數(shù)據(jù)并對其進行處理。例如,保存一個班級中所有學(xué)生的語文考試成績并計算這些成績的平均分。雖然我們可以通過多個變量分別保存每個學(xué)生的語文考試成績,再將這些變量相加后除以班級人數(shù),求出平均分,但是這種方式非常麻煩和低效。2.6.1數(shù)組此時,可以使用數(shù)組來保存班級內(nèi)每個學(xué)生的成績,然后通過對數(shù)組的處理求出平均分,這種方式不僅簡單,而且開發(fā)效率更高。2.6.1數(shù)組數(shù)組由0個或多個元素組成,數(shù)組中的每個元素由索引和值構(gòu)成,其中,索引也稱為下標,用數(shù)字表示,默認情況下從0開始依次遞增,用于標識元素;值為元素的內(nèi)容。假設(shè)某個數(shù)組包含5個元素,這5個元素的值分別是55、65、75、85、95,該數(shù)組中索引和值的關(guān)系如下圖所示。2.6.1數(shù)組數(shù)組的基本使用方法通過數(shù)組字面量創(chuàng)建數(shù)組的語法格式如下。中括號“[]”中的值就是數(shù)組中的元素,元素之間使用英文逗號分隔,在值2的后面還可以有更多的值。值1的索引為0,值2的索引為1。當數(shù)組中沒有元素時,“[]”內(nèi)不寫任何內(nèi)容。[值1,值2,…]2.6.1數(shù)組將數(shù)組賦值給變量時,變量的類型可以寫成“元素類型[]”或“Array<元素類型>”的形式,也可以省略類型,ArkTS會自動推斷變量類型。下面通過代碼演示數(shù)組的基本使用方法。聲明兩個變量,賦值為數(shù)組,示例代碼如下。letfruits:string[]=['蘋果','香蕉','橘子','草莓'];letscores:number[]=[98,97,100,65];2.6.1數(shù)組將數(shù)組賦值給變量后,通過“變量名[索引]”的方式可以訪問數(shù)組中的元素,也可以對數(shù)組中的元素進行添加或修改,示例代碼如下。letfruits1:string[]=['蘋果','香蕉','橘子'];//訪問數(shù)組中的元素letindex=1;console.log(fruits1[0]); //輸出結(jié)果:蘋果console.log(fruits1[index]); //輸出結(jié)果:香蕉//添加數(shù)組中的元素fruits1[3]='草莓';//修改數(shù)組中的元素fruits1[2]='菠蘿';2.6.1數(shù)組2.二維數(shù)組根據(jù)維數(shù),數(shù)組可以分為一維數(shù)組、二維數(shù)組等。一維數(shù)組中數(shù)組元素的值是非數(shù)組類型的數(shù)據(jù),二維數(shù)組是以一維數(shù)組作為數(shù)組元素的數(shù)組。二維數(shù)組在實際編程中應(yīng)用廣泛。例如,二維數(shù)組可以用于表示二維表格、矩陣等。在ArkTS中,可以使用“[]”嵌套的方式創(chuàng)建二維數(shù)組,語法格式如下。一個二維數(shù)組中可以包含0個或多個一維數(shù)組,一維數(shù)組中的元素非數(shù)組。在訪問二維數(shù)組中的元素時需要使用兩個“[]”。[[元素1,元素2,…],[元素1,元素2,…],…]2.6.1數(shù)組下面通過代碼演示如何創(chuàng)建與訪問二維數(shù)組,示例代碼如下。//創(chuàng)建二維數(shù)組letarr:number[][]=[[89,98,80],[95,83,85]];//訪問二維數(shù)組console.log('',arr[0][0]); //輸出結(jié)果:89console.log('',arr[0][1]); //輸出結(jié)果:98console.log('',arr[0][2]); //輸出結(jié)果:80console.log('',arr[1][0]);

//輸出結(jié)果:95console.log('',arr[1][1]); //輸出結(jié)果:83console.log('',arr[1][2]); //輸出結(jié)果:85console.log('',arr[0]); //輸出結(jié)果:89,98,80console.log('',arr[1]); //輸出結(jié)果:95,83,852.6.2枚舉

先定一個小目標!掌握枚舉,能夠使用枚舉存儲數(shù)據(jù)2.6.2枚舉在開發(fā)中經(jīng)常需要保存一些預(yù)設(shè)的值,方便后續(xù)使用。例如,某個頁面有3種主題顏色,這3種主題顏色的色值就可以保存為預(yù)設(shè)的值。使用枚舉可以很方便地保存預(yù)設(shè)的值。2.6.2枚舉枚舉由一組命名值組成,這些命名值又稱為枚舉常量,用于預(yù)先定義一些值。枚舉的語法格式如下。enum為聲明枚舉的關(guān)鍵字,建議將枚舉名和枚舉常量名中的每個單詞首字母大寫。枚舉常量的數(shù)量可以是0個或多個。在語法格式1中有3個枚舉常量,未對枚舉常量賦值,它們的值默認為0、1、2。在語法格式2中也有3個枚舉常量,并為它們分別賦值。定義了枚舉后,使用“枚舉名.枚舉常量名”可以訪問枚舉常量的值。//語法格式1enum枚舉名1{枚舉常量名1,枚舉常量名2,枚舉常量名3}//語法格式2enum枚舉名2{枚舉常量名1=值1,枚舉常量名2=值2,枚舉常量名3=值2}2.6.2枚舉下面通過代碼演示枚舉的使用方法,示例代碼如下。enumColorSet{Red='#f00',Green='#0f0',Blue='#00f'}console.log(ColorSet.Red); //輸出結(jié)果:#f00函數(shù)2.72.7.1初識函數(shù)

先定一個小目標!熟悉函數(shù)的概念,能夠闡述函數(shù)的作用2.7.1初識函數(shù)函數(shù)是實現(xiàn)某個特定功能的一段代碼,也就是將包含一條或多條語句的代碼塊封裝起來,用戶在使用時只需關(guān)心參數(shù)和返回值,就能實現(xiàn)特定的功能。對開發(fā)者來說,使用已經(jīng)得到充分檢驗的函數(shù)實現(xiàn)某個功能時,可以將精力集中在所需實現(xiàn)的具體功能上,而無須深入研究函數(shù)內(nèi)部的代碼,這并不影響函數(shù)的正常使用。函數(shù)的優(yōu)勢在于可以提高代碼的可復(fù)用性,降低代碼的維護難度。2.7.1初識函數(shù)在ArkTS中,函數(shù)分為內(nèi)置函數(shù)和自定義函數(shù)。內(nèi)置函數(shù)是指可以直接調(diào)用的函數(shù)。自定義函數(shù)是指用戶自定義的實現(xiàn)某個特定功能的函數(shù)。自定義函數(shù)在使用之前首先要定義,定義后才能調(diào)用,在要實現(xiàn)特定功能時可以調(diào)用相對應(yīng)的函數(shù)。2.7.2自定義函數(shù)

先定一個小目標!掌握自定義函數(shù),能夠根據(jù)實際需求在程序中定義并調(diào)用函數(shù)2.7.2自定義函數(shù)在開發(fā)一個功能復(fù)雜的模塊時,可能需要多次用到相同的代碼,這時可以使用自定義函數(shù)將相同的代碼封裝起來,在需要使用時直接調(diào)用該函數(shù)。在ArkTS中可以根據(jù)實際需求定義函數(shù),定義函數(shù)的語法格式如下。function函數(shù)名(參數(shù)1:類型,參數(shù)2:類型,…):返回值類型{

函數(shù)體}2.7.2自定義函數(shù)定義函數(shù)的語法格式的具體介紹如下。①function:定義函數(shù)的關(guān)鍵字。②函數(shù)名:一般由字母、數(shù)字、下劃線和$符號組成。需要注意的是,函數(shù)名不能以數(shù)字開頭,且不能是關(guān)鍵字。③參數(shù):是外界傳遞給函數(shù)的值,它的數(shù)量可以是0個或多個,多個參數(shù)之間使用英文逗號“,”分隔。如果參數(shù)是可選的,可以用“參數(shù)?:類型”或“參數(shù)?:類型=默認值”的方式表示,后者用于在省略參數(shù)的情況下為參數(shù)設(shè)置默認值,如果不設(shè)置默認值,則默認值為undefined??蛇x參數(shù)必

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論