03_javascript流程控制

流程控制語句

JS中的程序是從上到下一行一行執行的
通過流程控制語句可以控制程序執行流程,
使程序可以根據一定的條件來選擇執行

語句的分類:

1.條件判斷語句
2.條件分支語句
3.循環語句

條件判斷語句:

使用條件判斷語句可以在執行某個語句之前進行判斷,
如果條件成立纔會執行語句,條件不成立則語句不執行。

if語句

語法一:
	if(條件表達式){
		語句...
	}
if語句在執行時,會先對條件表達式進行求值判斷,
如果條件表達式的值爲true,則執行if後的語句,
如果條件表達式的值爲false,則不會執行if後的語句。
if語句只能控制緊隨其後的那個語句,
如果希望if語句可以控制多條語句,
可以將這些語句統一放到代碼塊中。
if語句後的代碼塊不是必須的,但是在開發中儘量寫上代碼塊,即使if後只有一條語句

條件分支語句

條件分支語句也叫switch語句
語法:
	switch(條件表達式){
	case 表達式:
		語句...
		break;
	case 表達式:
		語句...
		break;
	default:
		語句...
		break;
	}
執行流程:
switch...case..語句
在執行時會依次將case後的表達式的值和switch後的條件表達式的值進行全等比較,
如果比較結果爲true,則從當前case處開始執行代碼。
當前case後的所有的代碼都會執行,我們可以在case的後邊跟着一個break關鍵字,
這樣可以確保只會執行當前case後的語句,而不會執行其他的case。
如果比較結果爲false,則繼續向下比較,如果所有的比較結果都爲false,則只執行default後的語句。
switch語句和if語句的功能實際上有重複的,使用switch可以實現if的功能,
同樣使用if也可以實現switch的功能,所以我們使用時,可以根據自己的習慣選擇。

循環語句:

通過循環語句可以反覆的執行一段代碼多次
while循環

語法:
	while(條件表達式){
		語句...
	}
while語句在執行時,先對條件表達式進行求值判斷,如果值爲true,則執行循環體,
循環體執行完畢以後,繼續對錶達式進行判斷。
如果爲true,則繼續執行循環體,以此類推,如果值爲false,則終止循環。

do…while循環

語法:
	do{
		語句...
	}while(條件表達式)
執行流程:
do...while語句在執行時,會先執行循環體,
循環體執行完畢以後,在對while後的條件表達式進行判斷,
如果結果爲true,則繼續執行循環體,執行完畢繼續判斷以此類推,如果結果爲false,則終止循環。
實際上這兩個語句功能類似,不同的是while是先判斷後執行,
而do...while會先執行後判斷,do...while可以保證循環體至少執行一次,而while不能。
//將條件表達式寫死爲true的循環,叫做死循環

for循環

for語句,也是一個循環語句,也稱爲for循環。
在for循環中,爲我們提供了專門的位置用來放三個表達式:
	1.初始化表達式
	2.條件表達式
	3.更新表達式
for循環的語法:
	for(①初始化表達式;②條件表達式;④更新表達式){
		③語句...
	}
for循環的執行流程:
	①執行初始化表達式,初始化變量(初始化表達式只會執行一次)
	②執行條件表達式,判斷是否執行循環。
	如果爲true,則執行循環③
	如果爲false,終止循環
	④執行更新表達式,更新表達式執行完畢繼續重複②
	如果在for循環中不寫任何的表達式,只寫兩個;此時循環是一個死循環會一直執行下去,慎用 

嵌套for循環:

使用嵌套for循環可以打印圖形,乘法表等

break和continue:

break關鍵字可以用來退出switch或循環語句,不能在if語句中使用break和continue。
break關鍵字,會立即終止離他最近的那個循環語句,可以爲循環語句創建一個label,來標識當前的循環。
label:循環語句
使用break語句時,可以在break後跟着一個label,這樣break將會結束指定的循環,而不是最近的。
	outer:
	for(var i=0 ; i<5 ; i++){
		console.log("@外層循環"+i)
		for(var j=0 ; j<5; j++){
			break outer;
		console.log("內層循環:"+j);
		}
	}	
continue關鍵字可以用來跳過當次循環,同樣continue也是默認只會對離他最近的循環循環起作用。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章