您好,登錄后才能下訂單哦!
本文小編為大家詳細(xì)介紹“javascript中控制語句的概念是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“javascript中控制語句的概念是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識(shí)吧。
在javascript中,控制語句是用來控制程序中各語句執(zhí)行順序的語句結(jié)構(gòu),可對(duì)程序流程的選擇、循環(huán)、轉(zhuǎn)向和返回等進(jìn)行控制??刂普Z句可分為三類:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
什么是控制語句
控制語句是用來控制程序中各語句執(zhí)行順序的語句結(jié)構(gòu),可對(duì)程序流程的選擇、循環(huán)、轉(zhuǎn)向和返回等進(jìn)行控制。
作用:用于控制程序的流程, 以實(shí)現(xiàn)程序的各種結(jié)構(gòu)方式。
控制語句中呢可以分為三類:
第一類是順序結(jié)構(gòu):從上到下,從左到右
第二類是選擇結(jié)構(gòu):分支選擇
第三類是循環(huán)結(jié)構(gòu):重復(fù)執(zhí)行
一、if控制語句
1、if…else:
if (表達(dá)式) { 語句1; ...... } else { 語句2; ..... } //功能說明: //如果表達(dá)式的值為true則執(zhí)行語句1 //否則執(zhí)行語句2
2、if可以單獨(dú)使用:
var x= (new Date()).getDay();//獲取今天的星期值,0為星期天 var y; if ((x==6)||(x==0)) { y="周末"; } else { y="工作日"; } alert(y); //等價(jià)于: y="工作日"; if ((x==6)||(x==0)) { y="周末"; }
3、if嵌套:
if (表達(dá)式1) {語句1;} else if (表達(dá)式2) {語句2;} else if (表達(dá)式3) {語句3;} else {語句4;} //功能說明: //如果表達(dá)式1的值為true則執(zhí)行語句1 //如果表達(dá)式2的值為true則執(zhí)行語句2... //否則執(zhí)行語句4 if (x==1){ y="星期一"; }else if (x==2){ y="星期二"; ... }else if (x==6){ y="星期六"; }else if (x==0){ y="星期日"; }else{ y="未定義"; }
二、switch選擇控制語句
1、基本格式:
switch (表達(dá)式) { case 值1:語句1;break; case 值2:語句2;break; case 值3:語句3;break; default:語句4;//其他均不成立時(shí)執(zhí)行 } //功能說明: //如果表達(dá)式的值是值1/2...則分別執(zhí)行語句1/2...然后退出 //如不為列出的任何值,執(zhí)行default后的語句(語句4) //不加break會(huì)繼續(xù)執(zhí)行下一個(gè)條件的語句 //default放于最后,或加break,否則執(zhí)行下一條語句 var x=3 switch(x){ case 1:y="星期一";break; case 2:y="星期二";break; case 3:y="星期三";break; case 4:y="星期四";break; case 5:y="星期五";break; case 6:y="星期六";break; case 7:y="星期日";break; default: y="未定義"; } alert(y) //case 3后不加break會(huì)繼續(xù)執(zhí)行y='星期四'...
2、switch比if結(jié)構(gòu)更簡潔清晰,使程序可讀性更強(qiáng),效率更高
/*if語句適用范圍比較廣,只要是boolean表達(dá)式都可以用if判斷 而switch只能對(duì)基本類型進(jìn)行數(shù)值比較 兩者的可比性就僅限在兩個(gè)基本類型比較的范圍內(nèi) /*說到基本類型的數(shù)值比較,那當(dāng)然要有兩個(gè)數(shù) 然后重點(diǎn)來了:*/ //if語句每一句都是獨(dú)立的,看下面的語句: if (a == 1) ... else if (a == 2) ... /*這樣a要被讀入寄存器兩次:1和2分別被讀入寄存器一次 其實(shí)a讀兩次是有點(diǎn)多余的,在全部比較完之前只需一次讀入寄存器就即可,其余都是額外開銷 但是if語句必須每次都把里面的兩個(gè)數(shù)從內(nèi)存拿出來讀到寄存器,它不知道其實(shí)比較的是同一個(gè)a*/ //于是switch case就出來了,把上面的改成switch case版本: switch (a) { case 0: break; case 1: } //總結(jié): 1.switch用來根據(jù)一個(gè)整型值進(jìn)行多路分支,并且編譯器可以對(duì)多路分支進(jìn)行優(yōu)化 2.switch-case只將表達(dá)式計(jì)算一次,然后將表達(dá)式的值與每個(gè)case的值比較,進(jìn)而選擇執(zhí)行哪一個(gè)case的語句塊 3.if的判斷條件范圍較廣,每條語句基本上獨(dú)立的,每次判斷時(shí)都要條件加載一次 所以在多路分支時(shí)用switch比if結(jié)構(gòu)要效率高
三、while循環(huán)控制語句
while (條件) { 語句1; ... } //功能說明: //功能和for類似,當(dāng)條件成立循環(huán)執(zhí)行{}內(nèi)語句,否則跳出循環(huán) var i=1; while (i<=7) { document.write("<H"+i+">hello</H "+i+"> "); document.write("<br>"); i++; } //循環(huán)輸出H1到H7的字體大小
<script language="JavaScript"> //sayhello是定義的函數(shù)名,前面必須加上function和空格 function sayHello(){ var hellostr; var myname=prompt("請(qǐng)問您貴姓?","苑"); hellostr="您好,"+myname+'先生,歡迎進(jìn)入"探索之旅"!'; alert(hellostr); document.write(hellostr); } //對(duì)前面定義的函數(shù)進(jìn)行調(diào)用 sayHello(); </script>
讀到這里,這篇“javascript中控制語句的概念是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。