JS 流程控制(分支、循环)

大家都知道JS代码,在不考虑同步异步的时候是按照从上到下的循序运行代码,为了让我们的代码更加的灵活,出现了分支语句和循环语句。

分支:根据不同的情况,执行对应代码; 循环:重复执行某一部分代码

分支:if else、 三元运算符 、switch

 if else

简单理解为 if 就是如果,else 就是或者,两者配合使用if ( 条件 ) { // 条件成立执行语句 } else {
 // 否则执行语句 }

// 判断分数
var score = "88";
if(score < 60) {
  console.log("不及格");
} else if (score >= 60&&score < 70){
  console.log("一般");
} else if (score >=70 && score <80){
  console.log("良好");
} else if (score >= 80 && score < 90){
  console.log("优秀")
} else if (score >= 90 && score < 100){
  console.log("厉害");
} else if (score == 100){
  console.log("满分");
} else {
  console.log("错误")
}

三元运算符

表达式1 ? 表达式2 : 表达式3;是对if……else语句的一种简化写法,相对if else比较简单,也比较局限

// num 为分数的话
let num = 80
let str = num>60? '及格' : '不及格'
console.log(str);

switch

switch()括号中是需要处理的数据,每个case是一个条件,并且是强等不会转换类型,比如 ‘10’ 就不等于 10;default 关键词来规定匹配不存在时做的事情

如果当前case里面没有break,则不回退出switch语句,而是继续执行下一个case,直到遇到break或执行default语句才退出switch语句。

let day = new Date()
day = day.getDay()
switch (Number(day)){
    case 1: 
        alert('周一')
    break;
    case 2: 
        alert('周二')
    break;
    case 3: 
        alert('周三')
    break;
    case 4: 
        alert('周四')
    break;
    case 5: 
        alert('周五')
    break;
    case 6: 
        alert('周六')
    break;
    case 0: 
        alert('周日')
    break;
    default:
        alert('输入错误')
}

能用switch语句实现的就一定可以使用if实现,但是反之不一定,如果是区间范围就采用if,如果是等值判断使用switch

当分支比较少时,if…else…语句的执行效率比switch语句更高。

当分支比较多时,switch语句的执行效率比if…else…语句更高,结构也更清晰。

循环:for 、while、do while

按照判断和执行循序区分

for和while:

// for循环的表达式之间用的是;号分隔的,千万不要写成,
for (初始化表达式1; 判断表达式2; 自增/减表达式3) {
 // 循环体
}
// 当循环条件为true时,执行循环体,
// 当循环条件为false时,结束循环。
while (循环条件) {
 //循环体	
}

do while:

do..while循环和while循环非常像,二者经常可以相互替代,但是do..while的特点是不管条件成不成立,都会执行一次。

 

do {
 // 循环体;
} while (循环条件);

还有另一种分法:

while和do...while一般用来解决无法确认次数的循环。for循环一般在循环次数确定的时候比较方便

比如计算100内的和三种方法

// while
var i = 0;
var sum = 0;
while (i <= 100) {
 // 循环体
 sum += i;
 // 自增
 i++;
}

// do while
var i = 0;
var sum = 0;
do {
 // 循环体
 sum += i;
 // 自增
  i++;
}while (i <= 100)

// for
var sum = 0
for (var i = 0; i <= 100; i++) {  // 定义i 判断条件 变量i的自增
 // 循环体
 sum += i;
}
console.log(sum);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值