11、分支語句 if 在JS宏中的運用
分支語句的概念:
????在前面的學習中,不知道大家注意到?jīng)]有,我們寫好的代碼。在執(zhí)行每一個語句的時候,都是有順序的,在函數(shù)體內(nèi),是從上至下逐條運行的。
????但有些時候我們可能不希望他按照這種固點的順序運行?;蛘哒f我們想要我們編寫好的代碼,在滿足某些特定條件時,才去執(zhí)行,或者不執(zhí)行。
那么我們就必須用到分支語句。也就是判斷? ?IF ?
分支語句非常簡單,如:
如果(5<1){
那么我這么干
}否則{
我就這么干
}
上面只是一個舉例說明,這樣看上去,特別容易理解,在代碼中正確的表示是:
if(5<1){
條件成立執(zhí)行的代碼
}else{
不成立時執(zhí)行的代碼
}
????看了上面的代碼大家是不是感覺到,其實就是比較,看條件是否成立,從而做出不同的處理。
那么我們在學習分支語句前,需要先學習一下在JS宏中我們常用的比較符號:
在JS中我們做比較時,通常會使用到常規(guī)的比較運算符。和邏輯運算符。
比較和邏輯運算符用于測試?true?或者?false。
條件成立為true;
條件不成立為false
比較運算符:

邏輯運算符:
邏輯運算符用于測定變量或值之間的邏輯。
給定 x=6 以及 y=3,下表解釋了邏輯運算符:

我們可以這樣理解?
&&? ? 是并且的意思,? ?1<5&&1>0?? ?1小于5并且大于0?這個條件是成立的
||? ? ? ?是或的意思????????? 1<5||1>5? ? ? ?1小于5或者1大于5這個條件也是成立的
! ?? ? ??是取反。? ? ? ? ? ? ? !1>5 ?? ? ? ? ? ? 這個條件是成立的
三元運算符:條件?語句1:語句2
????其實三元運算符的寫法,就是把if{}else{}橫著寫。只不過他不象if那樣。else可以沒有。在三元運算符中。? :?是一個整體,如果缺少一部分會報語法錯誤。
示例:
var row=10
(row<10)?Range("a1").Value2="你好":Range("a10").Value2="你好"
????上面的例子,條件語句(row<10) 如果成立會執(zhí)行?后面的語句,否則會執(zhí)行:后面的語句。在三元運算符中不可以出現(xiàn)? ??;? ?分號?,這意味著我們不可以直接在三元表達式中使用多語執(zhí)行不同的事情。(但可以通過調(diào)用不同的函數(shù)來實現(xiàn))
????總結來說:三元運算符,適合使用在簡單判斷的語句中。如果判斷過于復雜,雖然也可以用三元運算符來表示但那樣反而會讓我們的語句變得不容易理解和維護。對于復雜判斷,更推薦使用 if ?? else ?
if else??套娃式使用
//第一種寫法??if else?連環(huán)式,一個字快。
var a=1,b=["上班","上班","上班","上班","上班","休","休"]
if(a==1){
if(b[a]=="上班"){
今天是星期一?今天上班
}else{今天是星期一?今不上班}
}else?if(a==2){
今天是星期二
}else if(a==3){
今天是星期三
}else?if(a==4){
今天是星期四
}else if(a==5){
今天是星期五
}else if(a==6){
今天是星期六
}else if(a==7){
今天是星期日
}
//第二種寫法??if 逐個判斷式,一個字易。
if(a==1){if(b[a]=="上班"){今天是星期一? 今天上班}else{今天是星期一? 今天不上班}}
if(a==2){今天是星期二}
if(a==3){今天是星期三}
if(a==4){今天是星期四}
if(a==5){今天是星期五}
//第三種寫法? 三元運算符
(a==1)?(b[a]=="上班")?今天是星期一? 今天上班:今天是星期一? 今天不上班:(a==2)?..........一直套下去。
詳細內(nèi)容請觀看下方視頻講解和示范。
本課小節(jié):
????分支判斷語句,在任何編程語言中都是存在的。且其原理共通。只是在語法表示上略有區(qū)別 。判斷在編程中非常重要。它在我們和程序中直接決定了接下來我們編程的走向。和行為。他讓我們的程序,從1變?yōu)榱藷o限可能。