




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章條件與循環(huán)在ActionScript3.0中,條件句和循環(huán)句是兩種基本結(jié)構(gòu)。條件句為程序增加了邏輯萬(wàn)分,而循環(huán)句則可以反復(fù)運(yùn)行某個(gè)代碼段。通常任何一個(gè)ActionScript程序都會(huì)包含這兩種結(jié)構(gòu)。4.1條件句條件句又稱為判斷句。ActionScript會(huì)判斷條件是否滿足以確定相應(yīng)程序是否執(zhí)行。條件句使得程序在不同情況下可以有不同的執(zhí)行內(nèi)容和執(zhí)行順序。ActionScript中常見(jiàn)的條件句關(guān)鍵字包括if和switch。4.1.1if條件句if條件句首先測(cè)試條件是否成立,如成立則執(zhí)行大括號(hào)組中的代碼內(nèi)容,其語(yǔ)法結(jié)構(gòu)如下。條件操作數(shù)condition成立與否取決于其返回的布爾值,當(dāng)返回值為true時(shí),條件成立,運(yùn)行大括號(hào)組中的代碼;當(dāng)返回值為false時(shí),條件不成立,大括號(hào)組中的代碼將被跳過(guò)。4.1.1if條件句以上代碼首先測(cè)試條件(1是否等于1),條件成立后,將輸出字符串“1當(dāng)然等于1”。如將測(cè)試條件變?yōu)闇y(cè)試2是否等于1,則因?yàn)闂l件不成立,則不會(huì)執(zhí)行大括號(hào)內(nèi)的trace語(yǔ)句。//測(cè)試2是否等于14.1.1if條件句說(shuō)明:條件操作數(shù)condition可以是值、變量或表達(dá)式。當(dāng)它不是布爾數(shù)據(jù)類型的值時(shí),ActionScript會(huì)執(zhí)行自動(dòng)類型轉(zhuǎn)換,代碼如下。條件操作數(shù)的值為7和0時(shí),結(jié)果完全不同。在判斷條件時(shí)ActionScript已經(jīng)執(zhí)行了自動(dòng)轉(zhuǎn)換。自動(dòng)轉(zhuǎn)換的相關(guān)規(guī)則可參考第三章。4.1.2if…else條件句if…else是一個(gè)非此即彼的分支結(jié)構(gòu)。其語(yǔ)法結(jié)構(gòu)如下。4.1.2if…else條件句在運(yùn)行時(shí),首先測(cè)試條件是否成立,如成立則執(zhí)行第一個(gè)大括號(hào)組中的代碼1部分,執(zhí)行后跳過(guò)else后大括號(hào)組中的代碼2部分;如條件不成立,則執(zhí)行第二個(gè)大括號(hào)組中的代碼2部分,如下列代碼。4.1.2if…else條件句注意:本例中使用了比較運(yùn)算符來(lái)比較num與10的大小。當(dāng)num大于10時(shí),表達(dá)式返回true,執(zhí)行第一個(gè)大括號(hào)組中的代碼,輸出字符串“變量num大于10"”。當(dāng)num等于或小于10時(shí),條件不成立,輸出“變量num不大于10”。讀者可自行調(diào)整num的賦值,觀察結(jié)果。通過(guò)實(shí)踐可以觀察到,條件操作數(shù)condition接收所有布爾類型和可以自動(dòng)轉(zhuǎn)換為布爾類型數(shù)據(jù)的值、變量或表達(dá)式。4.1.3if…elseif…else條件句if…elseif…else是一個(gè)多重分支結(jié)構(gòu)。其語(yǔ)法結(jié)構(gòu)如下。4.1.3if…elseif…else條件句在運(yùn)行時(shí),首先測(cè)試條件condition1是否成立,如成立則執(zhí)行第一個(gè)大括號(hào)組中的代碼1,執(zhí)行后跳過(guò)以后的內(nèi)容;當(dāng)condition1不成立時(shí),繼續(xù)測(cè)試條件condition2是否成立,如成立則執(zhí)行第二個(gè)大括號(hào)組中的代碼2,執(zhí)行后跳過(guò)以后的內(nèi)容;當(dāng)以上條件都不成立時(shí),執(zhí)行else后大括號(hào)組中的代碼3,如下列代碼。4.1.3if…elseif…else條件句注意:elseif…在多重分支中并非只能使用一次,而是可以重復(fù)若干次,代碼如下。上例中使用了2個(gè)elseif…,整個(gè)條件句出現(xiàn)了4個(gè)分支。4.1.4switch…case條件句switch…case條件句基本上用于多重分支結(jié)構(gòu),語(yǔ)法上有所差別,語(yǔ)法結(jié)構(gòu)如下。4.1.4switch…case條件句運(yùn)行時(shí),測(cè)試操作數(shù)operand是否與value1相匹配,如匹配則運(yùn)行代碼一,并跳出整個(gè)結(jié)構(gòu)。當(dāng)value1不匹配時(shí),運(yùn)行代碼二,之后跳出結(jié)構(gòu)。如果所有都不匹配,則運(yùn)行default:后的代碼三,并結(jié)束整個(gè)條件判斷。以下使用在switch…case條件句改寫(xiě)elseif…的示例,代碼如下。4.2循環(huán)句循環(huán)句用于反復(fù)執(zhí)行某一特定代碼塊。一般來(lái)說(shuō),循環(huán)句會(huì)設(shè)定一個(gè)循環(huán)條件,只要條件成立,將一直執(zhí)行一去。循環(huán)句常見(jiàn)的有五種形式,分別為:while、do…while、for、for…in和foreach…in。其中前3種語(yǔ)法雖然不同,但功能類似;后兩種用于訪問(wèn)對(duì)象的動(dòng)態(tài)屬性,往往也稱為“遍歷”。4.2.1while循環(huán)句while循環(huán)會(huì)設(shè)定一個(gè)條件,當(dāng)條件滿足時(shí)即執(zhí)行循環(huán)體中的代碼。一般來(lái)說(shuō),while的條件需要隨著代碼的執(zhí)行而更新,如果條件沒(méi)有變化往往會(huì)形成死循環(huán)。while循環(huán)句的語(yǔ)法結(jié)構(gòu)如下。4.2.1while循環(huán)句ActionScript在執(zhí)行時(shí)會(huì)先驗(yàn)證條件condition是否成立(是否為true),如成立則執(zhí)行大括號(hào)組中的代碼,如不成立,將跳過(guò)整個(gè)循環(huán)體,繼續(xù)執(zhí)行后面的代碼,如下列代碼。注意:以上代碼在執(zhí)行時(shí),總會(huì)檢測(cè)條件(n是否小于5),滿足條件時(shí)在執(zhí)行循環(huán)體后總會(huì)轉(zhuǎn)回條件檢測(cè)這個(gè)環(huán)節(jié)。因此在循環(huán)體中更新n非常重要,如果沒(méi)有“n++;”這一句代碼,將造成死循環(huán)。4.2.2do…while循環(huán)句do…while也是一種while循環(huán),不過(guò)他在先后順序上,保證先執(zhí)行循環(huán)體,再檢測(cè)條件。因此do…while循環(huán)保證循環(huán)體至少被執(zhí)行一次。其語(yǔ)法結(jié)構(gòu)如下。4.2.2do…while循環(huán)句與while循環(huán)句對(duì)比,while循環(huán)句是先檢測(cè)條件,成立后執(zhí)行;而do…while則先開(kāi)始執(zhí)行,后檢測(cè)條件。兩者均在條件不成立時(shí)跳出循環(huán)。上例中while部分所檢測(cè)的條件(n<0)從一開(kāi)始便不滿足,但ActionScript還是會(huì)先執(zhí)行循環(huán)體中的代碼,之后再檢測(cè)條件是否成立。4.2.3for循環(huán)句for循環(huán)句是最常用的循環(huán)結(jié)構(gòu)之一。它將初始值,循環(huán)條件和對(duì)條件的必要更新集成在for語(yǔ)句中,不至于遺漏。其基本語(yǔ)法如下。4.2.3for循環(huán)句其中init為初始包含初始值的變量,condition為確定循環(huán)是否結(jié)束的條件語(yǔ)句,next則是一個(gè)每次都更新變量的表達(dá)式,如下列代碼。4.2.3for循環(huán)句與while循環(huán)對(duì)比可以發(fā)現(xiàn),while結(jié)構(gòu)中分別使用3句代碼才完成了for語(yǔ)句中的功能,且在結(jié)構(gòu)上松散,容易遺漏。4.2.4for…in循環(huán)句for…in循環(huán)主要用于在對(duì)象或數(shù)組中循環(huán)訪問(wèn)屬性或數(shù)組對(duì)象。其語(yǔ)法結(jié)構(gòu)如下。在執(zhí)行時(shí),變量i將用于代表對(duì)象object中的每一個(gè)屬性,直到“遍歷”對(duì)象的全部屬性之后,循環(huán)才會(huì)結(jié)束。4.2.4for…in循環(huán)句上例輸出結(jié)果為:companynameage??梢钥吹娇梢酝ㄟ^(guò)循環(huán)訪問(wèn)預(yù)先定義的對(duì)象obj的每個(gè)屬性。其屬性值則可以使用obj[i]來(lái)獲得。上述代碼的輸出結(jié)果為:company:Adobename:張三age:254.2.5foreach…in循環(huán)句與for…in循環(huán)類似,foreach…in也是一種遍歷方式。不過(guò)for…in遍歷的是屬性,而foreach…in遍歷的是屬性值。例如,對(duì)象{x=4,y=5}包含2個(gè)屬性(x和y),for…in遍歷的結(jié)果是x和y(屬性名稱),而foreach…in遍歷的結(jié)果則是4和5(屬性的值)。foreach…in循環(huán)句的語(yǔ)法如下。4.2.5foreach…in循環(huán)句對(duì)比可以發(fā)現(xiàn),for…in循環(huán)中使用的變量i定義為字符串類型,這是因?yàn)閷傩悦Q肯定是字符
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 生態(tài)系統(tǒng)中的能量流動(dòng)與轉(zhuǎn)換試題及答案
- 2024年CPMM時(shí)間規(guī)劃試題及答案
- 傳染病院感防控課件
- 人類自身基因組與健康的關(guān)系試題及答案
- 2025年強(qiáng)振加速度儀合作協(xié)議書(shū)
- 出血熱培訓(xùn)知識(shí)課件
- 關(guān)于2024年CPMM的試題及答案
- 自我提升與國(guó)際物流師試題及答案
- 2024年CPMM深入學(xué)習(xí)試題及答案
- 2024年CPMM成功秘訣試題及答案
- DeepSeek培訓(xùn)課件-清華大學(xué)-DeepSeek+DeepResearch應(yīng)用報(bào)告
- 23G409先張法預(yù)應(yīng)力混凝土管樁
- 2024年貴州省工業(yè)投資發(fā)展有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 高速項(xiàng)目路基壓實(shí)度檢測(cè)培訓(xùn)
- 現(xiàn)代住宅小區(qū)10KV04KV供配電系統(tǒng)設(shè)計(jì)(論文)
- 遠(yuǎn)絡(luò)治療-柯尚志-治療點(diǎn)圖及文字說(shuō)明-讀書(shū)筆記20151218-錨爪分享
- 25Hz軌道電路ppt課件
- GB∕T 801-2021 小半圓頭低方頸螺栓 B級(jí)
- 通風(fēng)機(jī)的結(jié)構(gòu)和原理(課堂PPT)
- 地基處理施工與檢測(cè)監(jiān)測(cè)方案
- 注塑件外觀檢驗(yàn)質(zhì)量標(biāo)準(zhǔn)及規(guī)范
評(píng)論
0/150
提交評(píng)論