一. 條件分支語句
條件分支語句,也叫做體哦阿健判斷語句伤极,就是根據(jù)某種條件執(zhí)行某些語句,不執(zhí)行某些語句
JS中條件分支語句有三種:
1. if 條件分支語句
條件分支的主力語法姨伤,這個主力語法能夠書寫所有的條件分支語句
1.1 if 判斷語句
如果....
var score = 21;
if( csore >= 60 ){
console.log("你及格了")
}
如果分數(shù)超過60分就是及格
1.2 if...else...分支語句
如果...否則...讓程序出現(xiàn)分支哨坪,也就是有兩條路可走
var csoe = 33;
if( score >= 60){
console.log("你及格了");
}else{
console.log("你不及格,乍楚。当编。。");
}
if英語里面的如果的意思徒溪,else就是否則的意思忿偷。
1.3 if...else if...else if...else
多分支if語句
如果……否則如果……否則如果……否則如果……否則……
用戶會選擇一個分支執(zhí)行,選擇這個分支了臊泌,就暗含了上一個分支沒有滿足:
var score = 90;
if(score >= 80){
console.log("你很優(yōu)秀"); //不滿足條件鲤桥,所以不執(zhí)行,走樓梯下樓
}else if(score >= 70){
console.log("良好,很不錯"); //走到這個樓層的渠概,一定暗含小于85茶凳。這一樓層滿足,跳樓了
}else if(score >= 60){
console.log("你及格了,繼續(xù)加油"); //不執(zhí)行
}else{
console.log("你不及格,手伸出來") //不執(zhí)行
}
樓層中else只能有一個播揪。 else if可以有多個.
語法
if(條件1){
條件1成立時贮喧,執(zhí)行的程序
}else if(條件2){
條件1不成立,并且條件2成立時猪狈,執(zhí)行的程序
}
……
else{
以上所有條件都不成立時箱沦,執(zhí)行的程序
}
1.4 if語句可以嵌套
如果里面在套一層如果
var yuwen = 61;
var shuxue = 70;
if( yuwen >= 80 ){
if( yuwen >= 60){
alert("你沒有掛科");
}
}
2. switch...case條件分支語句
switch case 語句,switch case 語句能干的雇庙,if else語句一定也能干
switch(檢測值){
? case 值1 :
值1 與 檢測值 相同時做的事情
break;
case 值2 :
值2 與 檢測值 相同時做的事情
break;
case 值3 :
值3 與 檢測值 相同時做的事情
break;
default :
默認要做的break;
}
那switch語句用于判斷的是相等呢還是全等呢?
switch進行相同判斷谓形,底層是===的比較,連類型一起比較
switch這個語句状共,就只能干這種事兒套耕。就是把一個值,看情況得幾峡继,執(zhí)行不同的事兒冯袍。
3. 三元運算
?:
是一組運算符,這是JS中唯一一個需要三個元素的運算符。
條件?val1:val2
表達式的值康愤,要看條件是true還是false儡循。如果條件是true,那么表達式的值就是val1.如果是false征冷,那么值就是val2.
例
console.log( true ? 8 : 6 );//8
console.log( false ? 8 : 6 );//6
三目運算是if择膝,else語句的一種簡化形式
if(條件){
條件成立,執(zhí)行程序1
}else{
條件不成立检激,執(zhí)行程序2
}上面的if,else語句可以簡寫成以下的三目運算
條件肴捉?執(zhí)行程序1:執(zhí)行程序2;
總結:
條件分支的語句一共有3種
if...else if...
switch case(某一方面很擅長叔收,體現(xiàn)了代碼的清晰度上)
三元運算符 (賦值的時候齿穗,根據(jù)條件 有兩個可能的值)
&&短路寫法 (經(jīng)驗問題,用的不熟悉沒事)
但是 && ||短路寫法也有一種選擇的感覺饺律,這樣選算就是4種窃页。
二.條件循環(huán)語句
JS中流程控制的語句,兩個:條件分支复濒、循環(huán)語句脖卖。
循環(huán)語句是一系列反復執(zhí)行知道符合特定的條件命令
循環(huán)語句能夠解決大量類似語句書寫
1. for循環(huán)語句
作用:
是重復執(zhí)行一段程序,能夠解決大量的類似語句書寫
for( var i =1 ;i <= 99 ; i++){
console.log("愛你很多很多遍")
}
書寫需要注意
最容易犯 的語法錯誤巧颈,括號中最后一個語句沒有分號
for(var i = 1 ; i <= 99 ; i++){
console.log("我很愛你們很很多次");
}
1.1 for循環(huán)的本質(zhì)
for(1;2;4){
3
}
5
for(var i = 1 ; i <= 99 ; i++){
console.log("第" + i + "次說,我很愛你");
}
console.log("我是循環(huán)結束后的語句")
1 => 2(真)=> 3 => 4 => 2(真) => 3=> 4=> ....=> 4=> 2(假)=> 結束循環(huán)
1.2 for 循環(huán)里的break 和 continue 語句
break語句
作用:break下面的程序不執(zhí)行畦木,補償累加不執(zhí)行,整個for循環(huán)結束
for(var i = 1; i<= 100; i++){
console.log(i)
if(i == 5){
break; //找到了一個就立即終止循環(huán)
}
}
//結果為 1砸泛,2馋劈,3,4晾嘶,5
continue語句
結束本輪循環(huán)
作用:continue下面的程序不執(zhí)行妓雾,執(zhí)行步長累加,開始下一輪循環(huán)
for( var i = 1; i <= 10; i++ ){
if( i == 5){
continue;
//當i為5的時候垒迂,立即終止 執(zhí)行后面的console語句械姻,直接i為6了
}
console.log(i);
}
//1,2,3,4,6,7,8,9,10
break和continue的目的就是優(yōu)化算法的
2. while語句
while循環(huán),是for循環(huán)的一種簡化形式
語法
設置循環(huán)變量
while(循環(huán)執(zhí)行條件){
語句塊
}
var n =1;
while(n <= 10){
console.log(n);
n++;
}
如果判斷條件為假机断,那么代碼塊中的語句將一次都不會執(zhí)行
其實很想for循環(huán)的變體
var n =1;
for( ; n <= 10; ){
console.log(n);
n++;
}
3. do...while語句
和while語句相似楷拳,都是for的變體,do就是做吏奸,while就是當
var i = 1;
do{
console.log(i);
i++;
}while(i <= 10)
語法:
do{
①語句
}while(②條件表達)
程序一開始就會執(zhí)行一次①欢揖,然后驗證②是否為真,如果是真奋蔚,繼續(xù)執(zhí)行①...假她混,跳出循環(huán)
不過do...while是一個后置驗證烈钞,怎么著都會執(zhí)行一次:
例子:
do{
console.log("你是誰?")坤按;
}while(false)
這里應該是至少會打印一次
總結以下毯欣,JS中的循環(huán)語句有3個
for( ; ; ){ //注意括號內(nèi)是三條語句要用兩個分號隔開
}while(){
}
do{
}while()