02-javascript流程控制-分支1_W_第1頁
02-javascript流程控制-分支1_W_第2頁
02-javascript流程控制-分支1_W_第3頁
02-javascript流程控制-分支1_W_第4頁
02-javascript流程控制-分支1_W_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、JavaScript 流程控制-分支Contents目流程控制順序流程控制分支流程控制 if 語句三元表達(dá)式分支流程控制 switch 語句 1. 流程控制在一個程序執(zhí)行的過程中,各條代碼的執(zhí)行順序?qū)Τ绦虻慕Y(jié)果是有直接影響的。很多時候我們要通過控制代碼的執(zhí)行順序來實(shí)現(xiàn)我們要完成的功能。簡單理解: 流程控制就是來控制我們的代碼按照什么結(jié)構(gòu)順序來執(zhí)行流程控制主要有三種結(jié)構(gòu),分別是順序結(jié)構(gòu)、分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu),這三種結(jié)構(gòu)代表三種代碼執(zhí)行的順序。Contents目流程控制順序流程控制分支流程控制 if 語句三元表達(dá)式分支流程控制 switch 語句 2. 順序流程控制順序結(jié)構(gòu)是程序中最簡單、最基本的流

2、程控制,它沒有特定的語法結(jié)構(gòu),程序會按照代碼的先后順序,依次執(zhí)行, 程序中大多數(shù)的代碼都是這樣執(zhí)行的。Contents目流程控制順序流程控制分支流程控制 if 語句分支流程控制 switch 語句三元表達(dá)式3. 分支流程控制 if 語句3.1 分支結(jié)構(gòu)由上到下執(zhí)行代碼的過程中,根據(jù)不同的條件,執(zhí)行不同的路徑代碼(執(zhí)行代碼多選一的過程),從而得到不同的結(jié)果JS 語言提供了兩種分支結(jié)構(gòu)語句 if 語句 switch 語句3.2 if 語句1. 語法結(jié)構(gòu)語句可以理解為一個行為,循環(huán)語句和分支語句就是典型的語句。一個程序由很多個語句組成,一般情況下,會分割成一個一個的語句。/ 條件成立執(zhí)行代碼,否則什

3、么也不做if (條件表達(dá)式) / 條件成立執(zhí)行的代碼語句判斷條件truefalse執(zhí)行語句 3.2 if 語句2. 執(zhí)行流程其他語句 3. 分支流程控制 if 語句案例: 進(jìn)入網(wǎng)吧彈出一個輸入框,要求用戶輸入年齡,如果年齡大于等于 18 歲,允許進(jìn)網(wǎng)吧。3. 分支流程控制 if 語句案例分析 彈出 prompt 輸入框,用戶輸入年齡, 程序把這個值取過來保存到變量中 使用 if 語句來判斷年齡,如果年齡大于18 就執(zhí)行 if 大括號里面的輸出語句3. 分支流程控制 if 語句var usrAge = prompt(請輸入您的年齡:); if(usrAge = 18)alert(您的年齡合法,歡

4、迎來天際網(wǎng)吧享受學(xué)習(xí)的樂趣!);實(shí)現(xiàn)代碼3.3 if else語句(雙分支語句)1. 語法結(jié)構(gòu)/ 條件成立 執(zhí)行 if 里面代碼,否則執(zhí)行else 里面的代碼if (條件表達(dá)式) / 如果 條件成立執(zhí)行的代碼 else / 否則 執(zhí)行的代碼判斷條件true執(zhí)行語句 1false執(zhí)行語句 23.3 if else語句(雙分支語句)2. 執(zhí)行流程其他語句 3. 分支流程控制 if 語句案例 2:判斷閏年接收用戶輸入的年份,如果是閏年就彈出閏年,否則彈出是平年3. 分支流程控制 if 語句 案例分析 算法:能被4整除且不能整除100的為閏年(如2004年就是閏年,1901年不是閏年)或者能夠被400

5、 整除的就是閏年 彈出prompt 輸入框,讓用戶輸入年份,把這個值取過來保存到變量中 使用 if 語句來判斷是否是閏年,如果是閏年,就執(zhí)行 if 大括號里面的輸出語句,否則就執(zhí)行 else里面的輸出語句 一定要注意里面的且 & 還有或者 | 的寫法,同時注意判斷整除的方法是取余為 03. 分支流程控制 if 語句實(shí)現(xiàn)代碼if (year % 4 = 0 & year % 100 != 0 | year % 400 = 0) alert(這個年份是閏年); else / 剩下的是平年alert(這個年份是平年);3. 分支流程控制 if 語句獨(dú)立完成案例: 判斷是否中獎接收用戶輸入的姓名,來判

6、斷是否中獎, 如果輸入的是劉德華,則提示中了5塊錢, 否則提示沒有中獎。3. 分支流程控制 if 語句 案例分析 彈出 prompt 輸入框,讓用戶輸入姓名,把這個值取過來保存到變量中 使用 if 語句來判斷是否存在這個姓名,如果存在,就執(zhí)行 if 大括號里面的輸出語句,否則就執(zhí)行 else 里面的輸出語句 一定要注意判斷是否相等,用 = 或者 =3. 分支流程控制 if 語句/ 獲得用戶名var username = prompt(請輸入您的姓名:); if( username = 劉德華) alert(恭喜發(fā)財); else alert(謝謝惠顧,歡迎下次再來);中獎了,否則沒有中獎/ 算

7、法如果你叫劉德華實(shí)現(xiàn)代碼3.4 if else if 語句(多分支語句)1. 語法結(jié)構(gòu)/ 上述條件都不成立執(zhí)行此處代碼/ 適合于檢查多重條件。if (條件表達(dá)式1) 語句1; else if (條件表達(dá)式2)語句2; else if (條件表達(dá)式3)語句3;. else 條件表達(dá)式1 falsetru條件表達(dá)式2 false執(zhí)行語句1 true條件表達(dá)式n執(zhí)行語句2 其他語句 執(zhí)行語句n3.4 if else if 語句(多分支語句)2. 執(zhí)行流程3. 分支流程控制 if 語句案例: 判斷成績級別要求:接收用戶輸入的分?jǐn)?shù),根據(jù)分?jǐn)?shù)輸出對應(yīng)的等級字母A、B、C、D、E。其中:1. 90分(含)以

8、上,輸出:A2. 80分(含) 90 分(不含),輸出:B3. 70分(含) 80 分(不含),輸出:C4. 60分(含) 70 分(不含),輸出:D5. 60分(不含) 以下,輸出: E3. 分支流程控制 if 語句 案例分析 按照從大到小判斷的思路 彈出prompt輸入框,讓用戶輸入分?jǐn)?shù),把這個值取過來保存到變量中 使用多分支 if else if 語句來分別判斷輸出不同的值實(shí)現(xiàn)代碼var score = prompt(請您輸入分?jǐn)?shù):); if (score = 90) alert(寶貝,你是我的驕傲); else if (score = 80) alert(寶貝,你已經(jīng)很出色了); el

9、se if (score = 70) alert(你要繼續(xù)加油嘍); else if (score = 60) alert(孩子,你很危險); else alert(熊孩子,我不想和你說話,我只想用鞭子和你說話);Contents目流程控制順序流程控制分支流程控制 if 語句三元表達(dá)式分支流程控制 switch 語句4. 三元表達(dá)式三元表達(dá)式也能做一些簡單的條件選擇。 有三元運(yùn)算符組成的式子稱為三元表達(dá)式1. 語法結(jié)構(gòu)2. 執(zhí)行思路 如果表達(dá)式1為 true ,則返回表達(dá)式2的值,如果表達(dá)式1為 false,則返回表達(dá)式3的值 簡單理解: 就類似于 if else (雙分支) 的簡寫表達(dá)式1

10、? 表達(dá)式2 : 表達(dá)式3;4. 三元表達(dá)式案例: 數(shù)字補(bǔ)0用戶輸入數(shù)字,如果數(shù)字小于10,則在前面補(bǔ) 0 ,比如01,09 ,如果數(shù)字大于10,則不需要補(bǔ),比如 20。4. 三元表達(dá)式 案例分析 用戶輸入059之間的一個數(shù)字 如果數(shù)字小于10,則在這個數(shù)字前面補(bǔ)0,(加0) 否則 不做操作 用一個變量接受這個返回值,輸出4. 三元表達(dá)式實(shí)現(xiàn)代碼var time = prompt(請您輸入一個 0 59 之間的一個數(shù)字);/ 三元表達(dá)式 表達(dá)式 ? 表達(dá)式1 :表達(dá)式2var result = time 10 ? 0 + time : time; / 把返回值賦值給一個變量alert(resu

11、lt);Contents目流程控制順序流程控制分支流程控制 if 語句三元表達(dá)式分支流程控制 switch 語句5. 分支流程控制 switch 語句5.1 語法結(jié)構(gòu)switch 語句也是多分支語句,它用于基于不同的條件來執(zhí)行不同的代碼。當(dāng)要針對變量設(shè)置一系列的特定值的選項時,就可以使用 switch。switch( 表 達(dá)式 ) case value1:/ 表達(dá)式 等于 value1 時要執(zhí)行的代碼break; case value2:/ 表達(dá)式 等于 value2 時要執(zhí)行的代碼break; default:/ 表達(dá)式 不等于任何一個 value 時要執(zhí)行的代碼5.1 語法結(jié)構(gòu) switc

12、h :開關(guān) 轉(zhuǎn)換 , case :小例子 選項 關(guān)鍵字 switch 后面括號內(nèi)可以是表達(dá)式或值, 通常是一個變量 關(guān)鍵字 case , 后跟一個選項的表達(dá)式或值,后面跟一個冒號 switch 表達(dá)式的值會與結(jié)構(gòu)中的 case 的值做比較 如果存在匹配全等(=) ,則與該 case 關(guān)聯(lián)的代碼塊會被執(zhí)行,并在遇到 break 時停止,整個 switch 語句代碼執(zhí)行結(jié)束 如果所有的 case 的值都和表達(dá)式的值不匹配,則執(zhí)行 default 里的代碼注意: 執(zhí)行case 里面的語句時,如果沒有break,則繼續(xù)執(zhí)行下一個case里面的語句。5. 分支流程控制 switch 語句案例: 查詢水果

13、用戶在彈出框里面輸入一個水果,如果有就彈出該水果的價格, 如果沒有該水果就彈出“沒有此水果”。5. 分支流程控制 switch 語句 案例分析 彈出 prompt 輸入框,讓用戶輸入水果名稱,把這個值取過來保存到變量中。 將這個變量作為 switch 括號里面的表達(dá)式。 case 后面的值寫幾個不同的水果名稱,注意一定要加引號 ,因為必須是全等匹配。 彈出不同價格即可。同樣注意每個 case 之后加上 break ,以便退出 switch 語句。 將 default 設(shè)置為沒有此水果。實(shí)現(xiàn)代碼var fruit = prompt(請您輸入查詢的水果:); switch (fruit) case

14、 蘋果: alert(蘋果的價格是 3.5/斤); break; case 榴蓮: alert(榴蓮的價格是 35/斤); break; default: alert(沒有此水果); 5. 分支流程控制 switch 語句5.2 switch 語句和 if else if 語句的區(qū)別 一般情況下,它們兩個語句可以相互替換 switch.case 語句通常處理 case為比較確定值的情況, 而 ifelse語句更加靈活,常用于范圍判斷(大于、等于某個范圍) switch 語句進(jìn)行條件判斷后直接執(zhí)行到程序的條件語句,效率更高。而ifelse 語句有幾種條件,就得判斷多少次。 當(dāng)分支比較少時,if else語句的執(zhí)行效率比 switch語句高。 當(dāng)分支比較多時,switch語句的執(zhí)行效率比較高,而且結(jié)構(gòu)更清晰。5.3 作業(yè) 1. 判斷時間階段。 比如 用戶輸入12點(diǎn) 彈出 中午好 用戶輸入 18點(diǎn) 彈出傍晚好 用戶輸入 23點(diǎn) 彈出深夜好 2. 比較兩個數(shù)的最大值 (用戶依次輸入2個值,最后彈出最大的那個值) 3. 用戶輸入一個數(shù),來判斷是奇數(shù)還是偶數(shù) 4. 根據(jù)用戶輸

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論