一. 条件分支语句
条件分支语句,也叫做体哦阿健判断语句,就是根据某种条件执行某些语句,不执行某些语句
JS中条件分支语句有三种:
1. if 条件分支语句
条件分支的主力语法,这个主力语法能够书写所有的条件分支语句
1.1 if 判断语句
如果....
var score = 21;
if( csore >= 60 ){
console.log("你及格了")
}
如果分数超过60分就是及格
1.2 if...else...分支语句
如果...否则...让程序出现分支,也就是有两条路可走
var csoe = 33;
if( score >= 60){
console.log("你及格了");
}else{
console.log("你不及格,。。。");
}
if英语里面的如果的意思,else就是否则的意思。
1.3 if...else if...else if...else
多分支if语句
如果……否则如果……否则如果……否则如果……否则……
用户会选择一个分支执行,选择这个分支了,就暗含了上一个分支没有满足:
var score = 90;
if(score >= 80){
console.log("你很优秀"); //不满足条件,所以不执行,走楼梯下楼
}else if(score >= 70){
console.log("良好,很不错"); //走到这个楼层的,一定暗含小于85。这一楼层满足,跳楼了
}else if(score >= 60){
console.log("你及格了,继续加油"); //不执行
}else{
console.log("你不及格,手伸出来") //不执行
}
楼层中else只能有一个。 else if可以有多个.
语法
if(条件1){
条件1成立时,执行的程序
}else if(条件2){
条件1不成立,并且条件2成立时,执行的程序
}
……
else{
以上所有条件都不成立时,执行的程序
}
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这个语句,就只能干这种事儿。就是把一个值,看情况得几,执行不同的事儿。
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(条件){
条件成立,执行程序1
}else{
条件不成立,执行程序2
}上面的if,else语句可以简写成以下的三目运算
条件?执行程序1:执行程序2;
总结:
条件分支的语句一共有3种
if...else if...
switch case(某一方面很擅长,体现了代码的清晰度上)
三元运算符 (赋值的时候,根据条件 有两个可能的值)
&&短路写法 (经验问题,用的不熟悉没事)
但是 && ||短路写法也有一种选择的感觉,这样选算就是4种。
二.条件循环语句
JS中流程控制的语句,两个:条件分支、循环语句。
循环语句是一系列反复执行知道符合特定的条件命令
循环语句能够解决大量类似语句书写
1. for循环语句
作用:
是重复执行一段程序,能够解决大量的类似语句书写
for( var i =1 ;i <= 99 ; i++){
console.log("爱你很多很多遍")
}
书写需要注意
最容易犯 的语法错误,括号中最后一个语句没有分号
for(var i = 1 ; i <= 99 ; i++){
console.log("我很爱你们很很多次");
}
1.1 for循环的本质
for(1;2;4){
3
}
5
for(var i = 1 ; i <= 99 ; i++){
console.log("第" + i + "次说,我很爱你");
}
console.log("我是循环结束后的语句")
1 => 2(真)=> 3 => 4 => 2(真) => 3=> 4=> ....=> 4=> 2(假)=> 结束循环
1.2 for 循环里的break 和 continue 语句
break语句
作用:break下面的程序不执行,补偿累加不执行,整个for循环结束
for(var i = 1; i<= 100; i++){
console.log(i)
if(i == 5){
break; //找到了一个就立即终止循环
}
}
//结果为 1,2,3,4,5
continue语句
结束本轮循环
作用:continue下面的程序不执行,执行步长累加,开始下一轮循环
for( var i = 1; i <= 10; i++ ){
if( i == 5){
continue;
//当i为5的时候,立即终止 执行后面的console语句,直接i为6了
}
console.log(i);
}
//1,2,3,4,6,7,8,9,10
break和continue的目的就是优化算法的
2. while语句
while循环,是for循环的一种简化形式
语法
设置循环变量
while(循环执行条件){
语句块
}
var n =1;
while(n <= 10){
console.log(n);
n++;
}
如果判断条件为假,那么代码块中的语句将一次都不会执行
其实很想for循环的变体
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(②条件表达)
程序一开始就会执行一次①,然后验证②是否为真,如果是真,继续执行①...假,跳出循环
不过do...while是一个后置验证,怎么着都会执行一次:
例子:
do{
console.log("你是谁?");
}while(false)
这里应该是至少会打印一次
总结以下,JS中的循环语句有3个
for( ; ; ){ //注意括号内是三条语句要用两个分号隔开
}while(){
}
do{
}while()