摘要:循環(huán)語句循環(huán)語句是什么循環(huán)語句是一系列反復(fù)執(zhí)行到符合特定條件的語句。示例代碼如下跳轉(zhuǎn)語句什么是跳轉(zhuǎn)語句跳轉(zhuǎn)語句就是使得代碼的執(zhí)行可以從一個(gè)位置到另一個(gè)位置,跳轉(zhuǎn)語句包括和兩種。
語句 語句 語句的概述
1.描述:在JavaScript中,語句使用分號(hào)(;)進(jìn)行分隔。可以在每行編寫一條語句,也可以在每行編寫多
條語句(建議每行只編寫一條語句)。JavaScript解釋器按照語句的編寫順序依次執(zhí)行。
2.分類:
a.條件語句 b.循環(huán)語句 c.跳轉(zhuǎn)語句語句塊
JavaScript中使用一對(duì)大括號(hào)({})表示一個(gè)語句塊。使用語句塊為語句進(jìn)行分組,這樣使語句的結(jié)構(gòu)清晰明了。
例: { var v = "思否"; console .log(v); }
注意:
a.語句塊的結(jié)尾不需要分號(hào)。 b.語句塊的行都有縮進(jìn),但不是必須的。 c.語句中聲名變量是全局變量空語句
空語句中包含0條語句,JavaScript解釋器執(zhí)行空語句時(shí),不會(huì)執(zhí)行任何動(dòng)作。空語句代碼如下:
;
注意:如果有特殊目的的空語句時(shí),最好在代碼中添加注釋。這樣可以更好地說明這條空語句是有用的。
流程控制語句JavaScript解釋器按照語句的編寫順序依次執(zhí)行,但也可以編寫一些復(fù)雜的語句塊,基本分為三種:
a.順序執(zhí)行
b.選擇執(zhí)行
c.循環(huán)執(zhí)行
條件語句就是指通過判斷指定的計(jì)算結(jié)果,來決定是執(zhí)行還是跳過指定的語句塊。
if語句作用:控制是否執(zhí)行指定的語句塊
結(jié)果:一般為Boolean類型的值(true|false)
問題:如果表達(dá)式計(jì)算的結(jié)果不是Boolean類型,將結(jié)果強(qiáng)行轉(zhuǎn)換為Boolean類型,再進(jìn)行判斷。
if語句的執(zhí)行流程如下
a.判斷條件的結(jié)果是true還是false
b.當(dāng)結(jié)果為true時(shí),會(huì)執(zhí)行下面的語句塊
c.當(dāng)結(jié)果為false時(shí),會(huì)跳過語句塊,繼續(xù)執(zhí)行下面的代碼。
if語句的書寫規(guī)則如下
if(條件表達(dá)式){
語句塊/*當(dāng)條件表達(dá)式計(jì)算結(jié)果為true時(shí)執(zhí)行*/
}
代碼示例:
var v = true; if (result)/*條件表達(dá)式*/ { console .log("這是真的");/*如果判斷結(jié)果為true,會(huì)輸出本條語句*/ } console .log("最后輸出的");/*為了做測試添加的語句*/ /*輸出結(jié)果為: 這是真的 最后輸出的 */
var v = false; if (result)/*條件表達(dá)式*/ { console .log("這是真的");/*如果判斷結(jié)果為true,會(huì)輸出本條語句*/ } console .log("最后輸出的");/*為了做測試添加的語句*/ /*輸出結(jié)果為: 最后輸出的 */
if語句的執(zhí)行流程圖
if語句的注意事項(xiàng)
對(duì)應(yīng)的{}允許被省略,但前提是語句塊中只存在一條語句,如果存在多條語句,并且省略{},那么JavaScript默認(rèn)認(rèn)為只有后面的第一條語句是被控制語句塊的內(nèi)容,所以建議按照語法規(guī)則編寫。
if...else語句的執(zhí)行流程如下:
a.判斷條件的結(jié)果是true還是false.
b.當(dāng)結(jié)果為true時(shí),執(zhí)行語句塊1.
c.當(dāng)結(jié)果為false時(shí),執(zhí)行語句塊2
d.繼續(xù)執(zhí)行語句塊.
if...else的流程圖如下
if...else書寫規(guī)則如下
if(條件表達(dá)式){
語句塊一 }else{ 語句塊二 }
示例代碼如下
var result = false; if (result){ console .log("為true時(shí)輸出的內(nèi)容"); }else{ console .log("為false時(shí)輸出的內(nèi)容"); } /*輸出結(jié)果為: 為false時(shí)輸出的內(nèi)容 */if...else語句的嵌套
if...else語句支持嵌套寫法,也就是說,可以再if或者else后面的語句塊中繼續(xù)編寫if...else語句
流程圖如下
代碼示例如下:
var score = 68; if (score > 90){ console .log("BEST"); }else{ if (score > 60){ console .log("GOOD"); }else{ console .log("FAIl"); } } /*輸出結(jié)果為 GOOD */
注意:嵌套層數(shù)盡量不要超過3層,嵌套層數(shù)過多會(huì)影響運(yùn)行的效率。
else...if語句else...if是在if語句的基礎(chǔ)上,允許提供多個(gè)條件判斷。解決了if...else的嵌套問題。
流程圖如下
書寫規(guī)則如下
if(條件表達(dá)式一){
語句塊一 }else if(表達(dá)式二){ 語句塊二 }else{ 語句塊三 }
示例代碼如下:
var score = 69; if (score > 90);{ console .log("BEST"); }else if(score > 60){ console .log("GOOD"); }else{ console .log("fail"); } /*輸出結(jié)果為: GOOD */switch...case語句
switch...case語句是開關(guān)語句,但整體執(zhí)行流程比if...else語句復(fù)雜的多。
流程圖如下
注意:
a.條件表達(dá)式不一定是布爾類型,計(jì)算結(jié)果分別于case語句的值進(jìn)行比較
條件表達(dá)式計(jì)算結(jié)果與case語句的值是全相等比較,既要比較值又要比較類型
b.case語句羅列可能匹配的值
對(duì)應(yīng)的語句塊最后要添加break關(guān)鍵字,表示在執(zhí)行語句塊后,停止繼續(xù)執(zhí)行。
c.default語句,類似于if...else語句中的else語句,當(dāng)以上所有case語句的值都不匹配時(shí),默認(rèn)執(zhí)
行default語句對(duì)應(yīng)的語句塊。
注意:不是default語句不需要使用break關(guān)鍵字,而是default默認(rèn)一般編寫在最后,所以省略。
示例代碼如下
var result = "0"; switch(result){ case 0: console .log("這是數(shù)字0"); break; case 1: console .log("這是數(shù)字1"); break; case 2: console .log("這是數(shù)字2"); break; default: console .log("以上結(jié)果無一滿足"); } /*輸出結(jié)果為: 以上結(jié)果無一滿足 */ switch...case語句相對(duì)于if...else語句執(zhí)行性能更優(yōu),但是也還有很多需要注意的地方 注意: a.switch關(guān)鍵字后的小括號(hào),case關(guān)鍵字后面的冒號(hào)都不能省略。 b.break語句是跳出語句,一旦被執(zhí)行,表示后面的所有的case和default語句都不會(huì)執(zhí)行。 ---------- ##循環(huán)語句## ###循環(huán)語句是什么### 循環(huán)語句是一系列反復(fù)執(zhí)行到符合特定條件的語句。 循環(huán)語句的執(zhí)行流程如下: a.執(zhí)行語句塊 b.判斷條件的計(jì)算值是true還是false c.如果是true,則重復(fù)執(zhí)行語句塊 d.如果是false,則繼續(xù)執(zhí)行后面的代碼 ###while語句### while語句是一個(gè)基本循環(huán)語句,語法結(jié)構(gòu)與if語句很類似。 while語句的執(zhí)行流程如下: a.執(zhí)行while語句的條件判斷是true還是false b.如果為true,執(zhí)行語句塊。然后再重新計(jì)算while語句的條件判斷是true還是false。 c.如果為false,則跳過語句塊,繼續(xù)執(zhí)行下面的代碼。 流程圖如下 ![clipboard.png](/img/bVbe2Aw) 書寫規(guī)則如下 while(條件表達(dá)式){ 語句塊 } 注意:必須通過一個(gè)變量值的改變,控制條件表達(dá)式的計(jì)算結(jié)果,在循環(huán)中必須有以此計(jì)算的結(jié)果為 false來結(jié)束循環(huán),如果沒有這樣的一個(gè)變量的話,循環(huán)就會(huì)變成死循環(huán)。 示例代碼如下:
var result = 1;
while (result < 5){
console .log("循環(huán)未結(jié)束"); result++/*改變變量的值,是的只說又一次的表達(dá)式計(jì)算結(jié)果為false*/ } console .log("循環(huán)結(jié)束"); /*輸出結(jié)果為 循環(huán)未結(jié)束 循環(huán)未結(jié)束 循環(huán)未結(jié)束 循環(huán)未結(jié)束 循環(huán)結(jié)束 */
###do...while語句### do...while語句也是一個(gè)基本循環(huán)語句,執(zhí)行流程與while語句類似 執(zhí)行流程如下 a.執(zhí)行語句塊 b.執(zhí)行while語句的條件判斷是true還是false c.如果為true,執(zhí)行語句塊。然后再重新計(jì)算while語句的條件判斷是true還是false d.如果為false,繼續(xù)執(zhí)行下面的代碼。 書寫規(guī)則如下 do{ 語句塊 }while(條件表達(dá)式) 示例代碼如下
var result = 0;
do{
console .log(result);
result++;
}while(result <=10)
###do...while和while的區(qū)別### 1.do...while語句是先執(zhí)行再判斷,while語句是先判斷再執(zhí)行。 2.當(dāng)while關(guān)鍵字后面的條件第一次別執(zhí)行的時(shí)候,如果返回結(jié)果是false的話,while語句的語句塊就不會(huì)執(zhí)行。而do...while語句的語句塊至少被執(zhí)行一次。 ###for語句### for語句是一種簡潔的循環(huán)語句,包括三個(gè)部分 a.初始化表達(dá)式 b.條件判斷表達(dá)式 c.循環(huán)操作表達(dá)式 for語句的語法如下 for(初始化表達(dá)式;條件判斷表達(dá)式;循環(huán)操作表達(dá)式){ 語句塊 } for語句的執(zhí)行流程如下 a.執(zhí)行初始化表達(dá)式 b.執(zhí)行條件判斷表達(dá)式,計(jì)算結(jié)果是true還是false c.如果是true,則執(zhí)行語句塊。再執(zhí)行循環(huán)操作表達(dá)式,重新執(zhí)行條件判斷表達(dá)式 d.如果是false,則繼續(xù)執(zhí)行下面的代碼。 示例代碼如下
for (var v = 0; v<0; v++){
console .log(v); }
---------- ##跳轉(zhuǎn)語句## ###什么是跳轉(zhuǎn)語句### 跳轉(zhuǎn)語句就是使得JavaScript代碼的執(zhí)行可以從一個(gè)位置到另一個(gè)位置,跳轉(zhuǎn)語句包括break和continue兩種。跳轉(zhuǎn)語句只能用在循環(huán)語句中。 ###break語句### break語句是中斷語句,用于終止循環(huán)或開關(guān)語句 示例代碼如下
for( var i= 1 ; i<10 ; i++){
if(i==5){ break; } console .log(i); } /*輸出結(jié)果為 1 2 3 4 */
###continue語句### continue語句是連續(xù)語句,用于重新開始while do...while 和 for語句 示例代碼如下
for( var i= 1 ; i<10 ; i++){
if(i==5){ continue; } console .log(i); } /*輸出結(jié)果為 1 2 3 4 6 7 8 9 */
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/96760.html
摘要:網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知識(shí)點(diǎn)羅列為主或是資料的匯總,數(shù)據(jù)量讓新人望而卻步。天了解一個(gè)前端框架。也可以關(guān)注微信公眾號(hào)曉舟報(bào)告,發(fā)送獲取資料,就能收到下載密碼,網(wǎng)盤地址在最下方,獲取教程和案例的資料。 前言 好的學(xué)習(xí)方法可以事半功倍,好的學(xué)習(xí)路徑可以指明前進(jìn)方向。這篇文章不僅要寫學(xué)習(xí)路徑,還要寫學(xué)習(xí)方法,還要發(fā)資料,干貨滿滿,準(zhǔn)備接招。 網(wǎng)上有很多前端的學(xué)習(xí)路徑文章,大多是知...
摘要:這樣的消息分發(fā)機(jī)制稱作輪詢。在進(jìn)程掛了之后,所有的未被確認(rèn)的消息會(huì)被重新分發(fā)。忘記確認(rèn)這是一個(gè)普遍的錯(cuò)誤,丟失。為了使消息不會(huì)丟失,兩件事情需要確保,我們需要持久化隊(duì)列和消息。 工作隊(duì)列 showImg(https://segmentfault.com/img/remote/1460000008229494?w=332&h=111); 在第一篇中,我們寫了一個(gè)程序從已經(jīng)聲明的隊(duì)列中收發(fā)...
摘要:廖雪峰的教程學(xué)習(xí)筆記標(biāo)準(zhǔn)對(duì)象使用判斷值的類型,可以看到是類型,是類型,就是類型,另外還有一個(gè)這種基礎(chǔ)類型。小明只輸出和,并且改變了反序列化,即從字符串中還原出一個(gè)對(duì)象,使用方法就是小明小明這個(gè)感覺蠻簡單的。 廖雪峰的JavaScript教程學(xué)習(xí)筆記 1. 標(biāo)準(zhǔn)對(duì)象 使用typeof判斷值的類型,可以看到NaN是number類型,null是obejct類型,undefined 就是un...
摘要:選擇結(jié)構(gòu)變量和數(shù)據(jù)類型,賦值和輸出算術(shù)運(yùn)算選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)函數(shù)定義,函數(shù)調(diào)用變量作用域棧,程序運(yùn)行的基石面向?qū)ο螽惓L幚碚Z言提供的公用包上一節(jié)介紹了的算術(shù)運(yùn)算,如加減乘除等,的運(yùn)算規(guī)則跟四則運(yùn)算一樣。 選擇結(jié)構(gòu) 變量和數(shù)據(jù)類型,賦值和輸出 算術(shù)運(yùn)算 選擇結(jié)構(gòu) = 60) { System.out.println(You have passed the exam...
摘要:回調(diào)傳遞函數(shù)是將函數(shù)當(dāng)做值并作為參數(shù)傳遞給函數(shù)。這個(gè)例子中就是因?yàn)槭录壎C(jī)制中的傳入了回調(diào)函數(shù),產(chǎn)生了閉包,引用著所在的作用域,所以此處的數(shù)據(jù)無法從內(nèi)存中釋放。 javascript作用域 一門語言需要一套設(shè)計(jì)良好的規(guī)則來存儲(chǔ)變量,并且之后可以方便的找到這些變量,這逃規(guī)則被稱為作用域。 這也意味著當(dāng)我們?cè)L問一個(gè)變量的時(shí)候,決定這個(gè)變量能否訪問到的依據(jù)就是這個(gè)作用域。 一、詞法作用域 ...
閱讀 2857·2021-09-10 10:51
閱讀 2222·2021-09-02 15:21
閱讀 3214·2019-08-30 15:44
閱讀 882·2019-08-29 18:34
閱讀 1662·2019-08-29 13:15
閱讀 3331·2019-08-26 11:37
閱讀 2706·2019-08-26 10:46
閱讀 1118·2019-08-26 10:26