11、分支语句 if 在JS宏中的运用
分支语句的概念:
在前面的学习中,不知道大家注意到没有,我们写好的代码。在执行每一个语句的时候,都是有顺序的,在函数体内,是从上至下逐条运行的。
但有些时候我们可能不希望他按照这种固点的顺序运行。或者说我们想要我们编写好的代码,在满足某些特定条件时,才去执行,或者不执行。
那么我们就必须用到分支语句。也就是判断 IF
分支语句非常简单,如:
如果(5<1){
那么我这么干
}否则{
我就这么干
}
上面只是一个举例说明,这样看上去,特别容易理解,在代码中正确的表示是:
if(5<1){
条件成立执行的代码
}else{
不成立时执行的代码
}
看了上面的代码大家是不是感觉到,其实就是比较,看条件是否成立,从而做出不同的处理。
那么我们在学习分支语句前,需要先学习一下在JS宏中我们常用的比较符号:
在JS中我们做比较时,通常会使用到常规的比较运算符。和逻辑运算符。
比较和逻辑运算符用于测试 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) 如果成立会执行?后面的语句,否则会执行:后面的语句。在三元运算符中不可以出现 ; 分号 ,这意味着我们不可以直接在三元表达式中使用多语执行不同的事情。(但可以通过调用不同的函数来实现)
总结来说:三元运算符,适合使用在简单判断的语句中。如果判断过于复杂,虽然也可以用三元运算符来表示但那样反而会让我们的语句变得不容易理解和维护。对于复杂判断,更推荐使用 if else
if else 套娃式使用
//第一种写法 if else 连环式,一个字快。
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)?..........一直套下去。
详细内容请观看下方视频讲解和示范。
本课小节:
分支判断语句,在任何编程语言中都是存在的。且其原理共通。只是在语法表示上略有区别 。判断在编程中非常重要。它在我们和程序中直接决定了接下来我们编程的走向。和行为。他让我们的程序,从1变为了无限可能。