循環(huán)語(yǔ)句:
通過(guò)循環(huán)語(yǔ)句可以反復(fù)的執(zhí)行一段代碼多次
while循環(huán)
- 語(yǔ)法:
while(條件表達(dá)式){
語(yǔ)句...
}
- while語(yǔ)句在執(zhí)行時(shí)臼朗,
先對(duì)條件表達(dá)式進(jìn)行求值判斷菩彬,
如果值為true,則執(zhí)行循環(huán)體叛复,
循環(huán)體執(zhí)行完畢以后,繼續(xù)對(duì)表達(dá)式進(jìn)行判斷
如果為true,則繼續(xù)執(zhí)行循環(huán)體将鸵,以此類(lèi)推
如果值為false丸升,則終止循環(huán)
do...while循環(huán)
- 語(yǔ)法:
do{
語(yǔ)句...
}while(條件表達(dá)式)
- 執(zhí)行流程:
do...while語(yǔ)句在執(zhí)行時(shí)铆农,會(huì)先執(zhí)行循環(huán)體,
循環(huán)體執(zhí)行完畢以后狡耻,在對(duì)while后的條件表達(dá)式進(jìn)行判斷墩剖,
如果結(jié)果為true,則繼續(xù)執(zhí)行循環(huán)體酝豪,執(zhí)行完畢繼續(xù)判斷以此類(lèi)推
如果結(jié)果為false涛碑,則終止循環(huán)
實(shí)際上這兩個(gè)語(yǔ)句功能類(lèi)似,不同的是while是先判斷后執(zhí)行孵淘,
而do...while會(huì)先執(zhí)行后判斷蒲障,
do...while可以保證循環(huán)體至少執(zhí)行一次,
而while不能
for語(yǔ)句瘫证,也是一個(gè)循環(huán)語(yǔ)句揉阎,也稱(chēng)為for循環(huán)
在for循環(huán)中,為我們提供了專(zhuān)門(mén)的位置用來(lái)放三個(gè)表達(dá)式:
1.初始化表達(dá)式
2.條件表達(dá)式
3.更新表達(dá)式
for循環(huán)的語(yǔ)法:
for(①初始化表達(dá)式;②條件表達(dá)式;④更新表達(dá)式){
③語(yǔ)句...
}
for循環(huán)的執(zhí)行流程:
①執(zhí)行初始化表達(dá)式背捌,初始化變量(初始化表達(dá)式只會(huì)執(zhí)行一次)
②執(zhí)行條件表達(dá)式毙籽,判斷是否執(zhí)行循環(huán)。
如果為true毡庆,則執(zhí)行循環(huán)③
如果為false坑赡,終止循環(huán)
④執(zhí)行更新表達(dá)式,更新表達(dá)式執(zhí)行完畢繼續(xù)重復(fù)②
任意一種循環(huán)都可以互相嵌套
全局變量:函數(shù)外部定義的變量么抗,函數(shù)內(nèi)部和外部都可以訪問(wèn)毅否,它的值可以共享
局部變量:函數(shù)內(nèi)部定義的變量,函數(shù)內(nèi)部可以訪問(wèn)蝇刀,外部無(wú)法訪問(wèn)螟加。函數(shù)內(nèi)部訪問(wèn)變量時(shí),先在內(nèi)部查找是否有此變量,如果有捆探,就使用內(nèi)部變量然爆,如果沒(méi)有,就去外部查找
函數(shù)內(nèi)部如果不用'var'關(guān)鍵字定義變量黍图,變量可能會(huì)變成全局變量曾雕,如果用嚴(yán)格模式解析會(huì)報(bào)錯(cuò)
閉包的本質(zhì)就是函數(shù)嵌套,就是在函數(shù)里面定義函數(shù)雌隅,
內(nèi)部函數(shù)可以引用外部函數(shù)的參數(shù)和變量
參數(shù)和變量不會(huì)被垃圾回收機(jī)制給回收
閉包的用途:可以存循環(huán)的索引值翻默、做私有變量計(jì)數(shù)器