js 流程控制

1.流程控制简介

1流程控制

在任何一门程序设计语言中,都需要支持满足程序结构 化所需要的三种流程控制:

1)顺序控制

2)分支控制(条件控制)

3)循环控制    顺序控制:在程序流程控制中,最基本的就是顺序控制。程序会按照自上而下的顺序执行。

2.分支流程控制

1)if 语句

2)switc 语句

【1】

if 语句 {重要}

分类:单分支,双分支,多分支,分支嵌套

// 单分支
if (条件表达式){
   代码段
}
// 双分支
if (条件表达式) {
    代码段1 
}else {
   代码段2
}
// 多分支
if (条件表达式1){
    代码段1
} else if (条件表达式2){
   代码段2
} else if (条件表达式3){
   代码段3
}else{
    代码段4
}

注:()中可以是一个值,也可以是一个表达式

// 判断成绩是否及格
// 单分支
var score = 78;
if(score>=60 && score<=100){
  console.log('及格');
}

// 双分支
if(score>=60 && score<=100){
  console.log('及格');
}else{
  console.log('不及格');
}
// 双分支 改写 三元运算符
var res = score>=60&& score<=100?'及格':'不及格';
console.log(res);

// 多分支
var score = 59;
if(score>=60 && score<=100){
  console.log('及格');
}else if(score>=0 && score<=59){
  console.log('不及格');
}else{
  console.log('输入错误!');
}

// 分支嵌套
var score = 59;
if(score>=60 && score<=100){
  if(score>=85){
    console.log('优秀');
  }else if(score>=75){
    console.log('良好');
  }else{
    console.log('中等');
  }
}else if(score>=0 && score<=59){
  console.log('不及格');
}else{
  console.log('输入错误!');
}

【2】

switc{掌握}

基本语法:

switch (变量){
  case 值1: 
  代码段;
       break;
  case 值2: 
  代码段;
       break;
  ...
  default: 
  代码段;
}

注:()只能是变量或值,不能是表达式

var d = new Date();
console.log(d); // 获取日期时间对象
var week = d.getDay(); // 获取星期几
switch (week) {
  case 0:
    console.log('星期天');
    break;
  case 1: 
    console.log('星期一');
    break;
  case 2:
    console.log('星期二');
    break;
  case 3:
    console.log('星期三');
    break;
  case 4:
    console.log('星期四');
    break;
  case 5:
    console.log('星期五');
    break;
  case 6:
    console.log('星期六');
    break;
}

对比:if和switc的区别

if:条件是一个范围 或者 是具体的值

switch:条件是一个具体的值

能够使用switch实现的判断,都可以使用if来实现

但是,能够使用if语句实现的判断,不一定能使用switch实现

3循环控制语句

1.

while语句{掌握}

While 循环会在指定条件为真时循环执行代码块。

While循环,先进行条件判断,再执行循环体的代码

基础语句:

while (条件表达式){
  循环体
}

注意:当前循环中,如果不满足条件,一次都不会执行

var i= 1;
while(i<=10){
  console.log(i);
  i++;
}

2.

do....while{了解}

do/while 循环是 while 循环的变体。该循环会执行一次代码块,在检查条件是否为真之前,然后

果条件为真的话,就会重复这个循环。

do while循环,先执行循环体代码,再进行条件判断。至少执行一次循环体的代码。

do {
    代码段
} while (条件表达式)



注意:当前循环中,代码至少执行一次


var i=1;
    do{
        i++; // 2
        console.log(i);
    }while(i<=10)

3.for循环【重要】

<------------------------------------------------------->

for (循环变量初始化表达式; 循环条件表达式; 更新循环变量表达式) {

循环体

}

<------------------------------------------------------->

注意:

  1. 循环变量可以定义在for 循环结构体外
  2. 没有更新循环变量会变成死循环
  3. 循环条件中的‘;’不能省略

基础案例:

1.计算1+2+...100=5050的和



var sum=0
for(var i=1;i<=100;i++){
  sum += i
    if(i<100){
      document.write(i+'+');
    }else{
    document.write(i+'='+sum)
  }
}
console.log(sum)



2.循环输出5个div标签



for(var i=0;i<5;i++){
  document.write('<div>1</div>')
}

3.循环输出1-100



for(var i=1;i<=100;i++){
  document.write(i);
}


4.循环输出table表格,创建四行5列的表格



document.write('<table border="1">')
      for(var j=1;j<=4;j++){
        document.write('<tr>')
          for(var i=0;i<=3;i++){
            document.write('<td>@</td>');
          }
        document.write('</tr>')
      }
document.write('</table>')

4 for...in{掌握}

语法:

for (变量 in 对象) {

代码段

}

  • for...in 语句用来遍历对象的每一个属性。每次都将属性名作为字符串保存在变量里
  • 在无法预知对象的任何信息,和循环次数的时候使用
var arr = [
  {
    "name":"Java编程思想",
    "price":78.9
  },
  {
    "name":"python入门宝典",
    "price":59
  },
  {
    "name":"JavaScript程序设计",
    "price":69
  }
];
for(var i=0;i<arr.length;i++){
  // console.log(arr[i]);
  // json - {"name":"Java编程思想","price":78.9}
  for(key in arr[i]){
    console.log(arr[i][key]);
  }
}

4.跳转语句

contiune{掌握}

continue语句只能应用在循环中(while、do......while、for)语句中

用于中止本次循环,根据控制表达式还允许继续进行下一次循环。

var iNum = 0; 
for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    document.write(i);  
    continue;
  }
  iNum++;
}
alert(iNum);

break{掌握}

break 语句只能应用在循环(while、do......while、for)或switch语句中

break语句用于退出循环,阻止再次反复执行任何代码或者退出一个

switch语句

for (var i=1; i<10; i++) {
  if (i % 5 == 0) {
    break;
  }
  iNum++;
}
alert(iNum);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值