循環語句:通過循環語句可以反覆的執行一段代碼多次
while循環
語法:
while(條件表達式){
語句...
}
while語句在執行時,先對條件表達式進行求值判斷,
如果值為true,則執行循環體,循環體執行完畢以後,繼續對表達式進行判斷
如果為true,則繼續執行循環體,以此類推
如果值為false,則終止循環
do...while循環
語法:
do{
語句...
}while(條件表達式)
執行流程:
do...while語句在執行時,會先執行循環體,
循環體執行完畢以後,在對while後的條件表達式進行判斷,
如果結果為true,則繼續執行循環體,執行完畢繼續判斷以此類推
如果結果為false,則終止循環
實際上這兩個語句功能類似,不同的是while是先判斷後執行,
而do...while會先執行後判斷,do...while可以保證循環體至少執行一次,而while不能
創建一個循環,往往需要三個步驟:
創初始化一個變量
在循環中設置一個條件表達式
定義一個更新表達式,每次更新初始化變量
for語句,也是一個循環語句,也稱為for循環
在for循環中,為我們提供了專門的位置用來放三個表達式:
1.初始化表達式
2.條件表達式
3.更新表達式
for循環的語法:
for(①初始化表達式;②條件表達式;④更新表達式){
③語句...
}
for循環的執行流程:
①執行初始化表達式,初始化變量(初始化表達式只會執行一次)
②執行條件表達式,判斷是否執行循環。
如果為true,則執行循環③
如果為false,終止循環
④執行更新表達式,更新表達式執行完畢繼續重複②
for循環中的三個部分都可以省略,也可以寫在外部
如果在for循環中不寫任何的表達式,只寫兩個;
此時循環是一個死循環會一直執行下去,慎用
for(;;){
alert("hello");
}
break、continue關鍵字
break關鍵字可以用來退出switch或循環語句。
不能在if語句中使用break和continue
break關鍵字,會立即終止離他最近的那個循環語句。
可以為循環語句創建一個label,來標識當前的循環
label:循環語句
使用break語句時,可以在break後跟著一個label,這樣break將會結束指定的循環,而不是最近的。
continue關鍵字可以用來跳過當次循環。
同樣continue也是默認只會對離他最近的循環起作用。continue也可以創建標籤,同break。
測試程序的性能
在程序執行前,開啟計時器console.time("計時器的名字")可以用來開啟一個計時器,它需要一個字符串作為參數,這個字符串將會作為計時器的標識。
console.timeEnd()用來停止一個計時器,需要一個計時器的名字作為參數。