流程控制語句
- 主要用于控制代碼執(zhí)行的順序
- 流程控制就是指令
- 編程語言即人與計算機(jī)進(jìn)行交流的語言
三種流程控制結(jié)構(gòu)
1.默認(rèn)流程結(jié)構(gòu)
- 代碼逐行執(zhí)行挚冤,從左到右,從上到下。
2.分支流程結(jié)構(gòu)
- 選擇性執(zhí)行
3.循環(huán)流程結(jié)構(gòu)
- 重復(fù)執(zhí)行
輸入對話框
prompt()
為用戶提供一個輸入對話框枢纠,用戶可以在輸入框中輸入內(nèi)容并且點(diǎn)擊確定(Enter),程序可以接受輸入的內(nèi)容
prompt
(提示信息黎棠,默認(rèn)值);
注意
提示信息和默認(rèn)值若是字符串需要用引號引起來晋渺,兩個值可以只有提示信息
輸入框上有兩個按鈕
a. 確認(rèn)
獲取默認(rèn)值或用戶輸入的值,獲取的數(shù)據(jù)類型為string
脓斩。(主要是在運(yùn)用中注意有可能需要將得到的結(jié)果轉(zhuǎn)化為數(shù)字類型)
b. 取消
得到null
木西,為object
類型。主要用于通過用戶輸入的值随静,進(jìn)行條件判斷
<script>
var result = prompt("請輸入您的年齡",10);
console.log(result, typeof result);
if (result < 18) {
console.log("未成年")
}else if(result < 30){
console.log("該結(jié)婚了")
}else if (result < 50) {
console.log("壯年八千,繼續(xù)奮斗")
}else {
console.log("該享福了")
}
// 單擊確定 顯示默認(rèn)值或用戶輸入的值 ,string類型
// 當(dāng)刪掉所有內(nèi)容 單擊確定 顯示為string類型 燎猛,執(zhí)行的是小于18的語句叼丑??扛门?
// 單擊取消 得到null, 為object 類型
</script>
一鸠信、條件語句
1.單分支語句
- 只用于一種選擇的判斷
if
(條件語句){
執(zhí)行的語句;
}
if
語句描述為 如果……那么……
注意事項(xiàng)
a.條件語句,可以是表達(dá)式也可以是單個值
- 如果給定單個值時,表示判斷這個值是否存在论寨,會默認(rèn)轉(zhuǎn)換為布爾類型boolean,true就執(zhí)行星立,false就不執(zhí)行
b.語句,可以是單條語句或者多條語句葬凳。
- 每一條語句都是以分號結(jié)尾
- 多條語句一般稱為代碼塊绰垂,使用花括號{}括起來
- 如果是單條語句,可以不寫{}火焰,但是不推薦
-此時的單條語句相當(dāng)于綁定在if條件上劲装,滿足條件就執(zhí)行 - 推薦都使用花括號括起來
2.雙分支條件語句
if
(條件語句){
條件成立時,執(zhí)行該語句;
}else
{
條件不成立時,執(zhí)行該語句;
}
3.多分支條件語句
多選一
if
(條件a) {
a語句占业;
}else
if
(條件b) {
b語句绒怨;
}else
if
(條件c) {
c語句;
}else
{
d語句谦疾;
}
注意
程序有執(zhí)行的順序南蹂,需要將條件最苛刻的放在最上邊。防止有交叉的數(shù)據(jù)出現(xiàn)判定出錯
最后的
else
選項(xiàng)可以不寫
4.多分支語句 switch
switch
( 狀態(tài)值 ) {
case
值1:
執(zhí)行條件1的代碼塊念恍;
break
;
case
值2:
執(zhí)行條件2的代碼塊六剥;
break
;
default
:
以上條件都不滿足時,執(zhí)行此處代碼峰伙;
}
狀態(tài)值:變量
注意
-
switch……case
中的狀態(tài)值和case
中給定的值疗疟,既要意義一樣,數(shù)據(jù)類型也要一樣(必須全等于) -
break
的作用防止穿透瞳氓,終止后面代碼的執(zhí)行秃嗜,所以必須加上break
-
default
可以寫在switch
語句里任何位置,表示默認(rèn)值顿膨,表示所有條件狀態(tài)都不滿足時锅锨,執(zhí)行的代碼塊。是一個可選項(xiàng)恋沃。 - 除了放在最后的位置不加
break
;其他都得加break
;
與if
條件語句對比
-
if...else if...else
可以使用在表示一個范圍或一個具體值 -
switch
語句只能用于具體的值
終止循環(huán)語句
此處說到break
必搞,還有一個continue
,注意區(qū)分兩者的不同囊咏。
1.break
跳出循環(huán)恕洲,遇到break
,就等于結(jié)束循環(huán)梅割。
2.continue
終止本次循環(huán)霜第,進(jìn)行下一次循環(huán),相當(dāng)于這次就到這户辞,繼續(xù)下一次泌类。
二、循環(huán)語句
for循環(huán)
1.為什么要使用循環(huán)
- 減少代碼的冗余(重復(fù)的代碼)
- 方便后期的維護(hù)以及修改
2.循環(huán)的四要素
- 初始循環(huán)變量底燎,并賦值
var i = 0
- 循環(huán)條件
i <= 10
- 更新循環(huán)變量(布長)
i+=1
- 循環(huán)體刃榨,重復(fù)執(zhí)行的代碼
3.for循環(huán)語法
for(循環(huán)初始變量;循環(huán)條件双仍;更新循環(huán)變量) {
循環(huán)體(只有條件滿足時才執(zhí)行此處的代碼)
}
4.執(zhí)行過程
- 第一次,初始變量枢希,并進(jìn)行一個循環(huán)條件的定
- 滿足,執(zhí)行循環(huán)朱沃,執(zhí)行第二步操作
- 不滿足苞轿,不執(zhí)行循環(huán)
- 第二步,執(zhí)行代碼
- 第三步茅诱,更新變量的值
- 第四步,再判定
5.for循環(huán)注意事項(xiàng)
循環(huán)條件
a. 如果條件為真時搬卒,執(zhí)行響應(yīng)循環(huán)瑟俭,條件為假時不執(zhí)行循環(huán)循環(huán)變量
a.初始變量為最小值時,更新變量秀睛,使用自增
b.初始變量為最大值時尔当,更新變量莲祸,使用自減
c.更新變量可以是任何步長值蹂安,i++
,i+=2
(賦值運(yùn)算操作)
d.初始變量中需要聲明,使用var
或let
while循環(huán)
初始循環(huán)變量;
while(循環(huán)條件){
循環(huán)體锐帜;
更新循環(huán)變量田盈;
}
do while循環(huán)
初始循環(huán)變量;
do {
循環(huán)體;
更新循環(huán)變量缴阎;
} while(條件表達(dá)式);
do...while
循環(huán)語句與while
類似允瞧,在對條件表達(dá)式求值之前,循環(huán)體內(nèi)的代碼至少會被執(zhí)行一次蛮拔。
總結(jié)
- for
- do...while
死循環(huán)
只要循環(huán)條件永遠(yuǎn)為真述暂,就能產(chǎn)生死循環(huán)
如以下情況
- 在循環(huán)中,循環(huán)條件沒有時
- 在循環(huán)中建炫,沒有更新循環(huán)變量
- 在循環(huán)中畦韭,什么都沒給,只有兩個分號
- 盡量不要在項(xiàng)目中使用死循環(huán)
- 主要用于一些隨機(jī)遍歷肛跌,隨機(jī)循環(huán)的數(shù)據(jù)中艺配,如隨機(jī)循環(huán)數(shù)字,在指定的條件下進(jìn)行終止操作(能被3整除)
瀏覽器打斷點(diǎn)
在控制臺中衍慎,sources转唉,找到指定代碼,點(diǎn)擊代碼行號稳捆,進(jìn)行斷點(diǎn)標(biāo)記赠法,再次刷新頁面
寫循環(huán)語句時,非常有用的工具乔夯。
嵌套循環(huán)
表示在循環(huán)體中再次嵌套循環(huán)
雙層for循環(huán)
for( ) {
for( ) {...}
}
理解
- 外層for循環(huán)期虾,相當(dāng)于表格中的行
- 內(nèi)層for循環(huán),相當(dāng)于表格中的列