一篇文章教你用JavaScript使用流程控制打印九九乘法表
一、選擇結(jié)構(gòu)
概念:選擇結(jié)構(gòu)語句需要根據(jù)給出的條件進(jìn)行判斷來決定執(zhí)行對應(yīng)的代碼。
if單分支語句
概念:if條件判斷語句也被稱為單分支語句,當(dāng)滿足某種條件時,就進(jìn)行某種處理。
舉例:只有年齡大于等于18周歲,才輸出已成年,否則無輸出。
if…else雙分支語句
概念:if…else語句也稱為雙分支語句,當(dāng)滿足某種條件時,就進(jìn)行某種處理,否則進(jìn)行另一種處理。
舉例:判斷一個學(xué)生的年齡,大于等于18歲則是成年人,否則是未成年人。
if…else if…else多分支語句
概念:if…else if…else語句也稱為多分支語句,可針對不同情況進(jìn)行不同的處理。
舉例:對一個學(xué)生的考試成績進(jìn)行等級的劃分,分?jǐn)?shù)在90——100分為優(yōu)秀,分?jǐn)?shù)在80——90分為優(yōu)秀為良好,分?jǐn)?shù)在70——80分為中等,分?jǐn)?shù)在60——70分為及格,分?jǐn)?shù)小于60則為不及格。
注意
“if…else if…else”語句在使用時,“else if”中間要有空格,否則程序會報語法錯誤。
switch多分支語句
概念:switch語句也是多分支語句,功能與if系列條件語句相同,不同的是它只能針對某個表達(dá)式的值作出判斷,從而決定執(zhí)行哪一段代碼。
特點(diǎn):代碼更加清晰簡潔、便于閱讀。
舉例:根據(jù)學(xué)生成績score進(jìn)行評比(滿分為100分)。
二、循環(huán)結(jié)構(gòu)
概念:所謂循環(huán)語句就是可以實(shí)現(xiàn)一段代碼的重復(fù)執(zhí)行。
舉例:連續(xù)輸出1~100之間的數(shù)字。
while循環(huán)語句
概念:while循環(huán)語句是根據(jù)循環(huán)條件來判斷是否重復(fù)執(zhí)行一段代碼。
注意
需要注意的是,若循環(huán)條件永遠(yuǎn)為true時,則會出現(xiàn)死循環(huán),因此在開發(fā)中應(yīng)根據(jù)實(shí)際需要,在循環(huán)體中設(shè)置循環(huán)出口,即循環(huán)結(jié)束的條件。
do…while循環(huán)語句
do…while循環(huán)語句的功能與while循環(huán)語句類似,唯一的區(qū)別在于,while是先判斷條件后執(zhí)行循環(huán)體,而do…while會無條件執(zhí)行一次循環(huán)體后再判斷條件。
for循環(huán)語句
概念:for循環(huán)語句是最常用的循環(huán)語句,它適合循環(huán)次數(shù)已知的情況。
for關(guān)鍵字后面小括號“()”中包括了三部分內(nèi)容:
初始化表達(dá)式。循環(huán)條件。操作表達(dá)式。
它們之間用“;”分隔,{}中的執(zhí)行語句為 ③循環(huán)體。
注意
for循環(huán)語句小括號“()”內(nèi)的每個表達(dá)式都可以為空,但是必須保留分號分割符。當(dāng)每個表達(dá)式都為空時,表示該for循環(huán)語句的循環(huán)條件永遠(yuǎn)滿足,會進(jìn)入無限循環(huán)的狀態(tài),此時如果要結(jié)束無限循環(huán),可在for語句循環(huán)體中用跳轉(zhuǎn)語句進(jìn)行控制。
三、跳轉(zhuǎn)語句
概念:跳轉(zhuǎn)語句用于實(shí)現(xiàn)程序執(zhí)行過程中的流程跳轉(zhuǎn)。
常用的跳轉(zhuǎn)語句:有break和continue語句。
break與continue的區(qū)別:break語句可應(yīng)用在switch和循環(huán)語句中,其作用是終止當(dāng)前語句的執(zhí)行,跳出switch選擇結(jié)構(gòu)或循環(huán)語句,執(zhí)行后面的代碼。而continue語句用于結(jié)束本次循環(huán)的執(zhí)行,開始下一輪循環(huán)的執(zhí)行操作。
其他功能:break和continue語句還可跳轉(zhuǎn)到指定的標(biāo)簽語句處,實(shí)現(xiàn)嵌套語句的多層次跳轉(zhuǎn)。
- label表示標(biāo)簽的名稱,如start、end等任意合法的標(biāo)識符。
- statement表示具體執(zhí)行的語句,如if、while、變量的聲明等。
- 標(biāo)簽語句必須在使用之前定義,否則會出現(xiàn)找不到標(biāo)簽的情況。
【案例】打印金字塔
代碼實(shí)現(xiàn)思路:
- 分析金字塔組成:由空格和星星“*”組成的三角形。
- 分析“*”和空格的分布規(guī)律(假設(shè)最上面的一個星星作為金字塔的第一層)。
- 每層中星星的數(shù)量 = 當(dāng)前層數(shù)2 -1。例如當(dāng)前為第4層,則星星數(shù)= 42-1=7。
- 每層星星前的空格 = 金字塔層數(shù) – 當(dāng)前層數(shù)。例如當(dāng)前行數(shù)為第3層,則空格數(shù)=5-3=2。
代碼實(shí)現(xiàn)
<script> var level = prompt('請設(shè)置金字塔的層數(shù)'); // 獲取輸入的純數(shù)字,其余情況皆轉(zhuǎn)為NaN level = parseInt(level); // 判斷用戶輸入的數(shù)據(jù)是否合法 if (isNaN(level)) { alert('金字塔的層數(shù)必須是純數(shù)字'); } // 循環(huán)遍歷金字塔的層數(shù) for(var i = 1; i <= level; ++i){ // 輸出星星前的空格 var blank = level - i; for(var k=0; k < blank; ++k){ document.write(' '); } // 打印星星 var star = i*2 - 1; for(var j = 0; j < star; ++j){ document.write('*'); } // 換行 document.write('<br>'); } </script>
四、動手實(shí)踐九九乘法表
九九乘法表體現(xiàn)了數(shù)字之間乘法的規(guī)律,成為了學(xué)生在學(xué)習(xí)數(shù)學(xué)時必不可少的一項(xiàng)內(nèi)容。
代碼實(shí)現(xiàn)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>九九乘法表</title> <style> table{border-collapse:collapse;} table td{border:2px solid #ccc;padding:3px 6px;} </style> </head> <body> <table> <script> for (var i = 1; i < 10; ++i) { // 遍歷表中所有的行 document.write('<tr>'); for (var j = 1; j <= i; ++j) { // 遍歷每行中的列 // 拼接單元格 document.write('<td>'); document.write(j); document.write('×'); document.write(i); document.write('='); document.write(j * i); document.write('</td>'); } document.write('</tr>'); } </script> </table> </body> </html>
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
JS實(shí)現(xiàn)從連接中獲取youtube的key實(shí)例
這篇文章主要介紹了JS實(shí)現(xiàn)從連接中獲取youtube的key的方法,涉及javascript字符串操作的相關(guān)技巧,需要的朋友可以參考下2015-07-07JavaScript的常見兼容問題及相關(guān)解決方法(chrome/IE/firefox)
本篇文章只要是對JavaScript的常見兼容問題及相關(guān)解決方法(chrome/IE/firefox)進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下,希望對大家有所幫助2013-12-12小程序中設(shè)置緩存過期的實(shí)現(xiàn)方法
這篇文章主要介紹了小程序中設(shè)置緩存過期的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-01-01防止Layui form表單重復(fù)提交的實(shí)現(xiàn)方法
今天小編就為大家分享一篇防止Layui form表單重復(fù)提交的實(shí)現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09javascript限制文本框只允許輸入數(shù)字(曾經(jīng)與現(xiàn)在的方法對比)
很多時候需要用到限制文本框的數(shù)字輸入,試過許多方法,都不太理想,遂決定自己實(shí)現(xiàn)一個來玩玩,接下來介紹曾經(jīng)使用過的方法與自定義方法的對比,感興趣的朋友可以了解下啊2013-01-01escape函數(shù)解決js中ajax傳遞中文出現(xiàn)亂碼問題
這篇文章主要介紹了escape函數(shù)解決js中ajax傳遞中文出現(xiàn)亂碼問題,是非常實(shí)用的技巧,需要的朋友可以參考下2014-10-10使用Bootstrap Tabs選項(xiàng)卡Ajax加載數(shù)據(jù)實(shí)現(xiàn)
這篇文章主要介紹了使用Bootstrap Tabs選項(xiàng)卡Ajax加載數(shù)據(jù)實(shí)現(xiàn),以及遇到的問題,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12javascript事件監(jiān)聽與事件委托實(shí)例詳解
這篇文章主要介紹了javascript事件監(jiān)聽與事件委托,結(jié)合實(shí)例形式詳細(xì)分析了javascript事件監(jiān)聽與事件委托相關(guān)原理、用法與操作注意事項(xiàng),需要的朋友可以參考下2019-08-08JavaScript oncopy事件用法實(shí)例解析
這篇文章主要介紹了JavaScript oncopy事件用法實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05