JS_BASIC day03

今日目标

流程控制 循环语句

 

1.流程控制

程序=数据+算法

任何复杂的程序的算法都可以分为“‘顺序执行’”,“选择执行”,“循环执行”

选择执行:程序可以选择执行某一段代码,也可以选择不执行这段代码

(1)if语句

if(逻辑表达式){

语句1;

     语句2;

}

语句3

执行流程:如果逻辑表达式结果是true,执行语句1,语句2;

如果逻辑表达式结果为false,跳过语句1、2,执行语句3

练习:通过弹出提示框,输入商品总额,如果总额大于等于500,则打八折,最终打印商品的应付金额

var num1 = prompt('please input a price');

if(num1>=500){

    num1=num1*0.8;

}

console.log('price:'+num1);

注意:IF后边的大括号中的语句只有一条,可以省略大括号,否则不能省略

if(true){ } 逻辑表达式可以直接写true或者false

在逻辑表达式中 undefined,null,0,' ',NaN都被认为是false;

 

2.if...else语句

语句1;

if(逻辑表达式){

    语句2;

}else{

    语句3;

}

语句4;

执行流程

①执行语句1;

②判断逻辑表达式的值

如果结果是true,执行语句2

如果结果是false,执行语句3

③执行语句4

例://弹出提示框,输入商品总额

var total=prompt('please input total');

//如果总额满500,打八折

if(total>=500){

total*=0.8;

}

//付款:准备一个账户,初始值

var money = 400;

//判断账户的值是否大于等于商品的总额

//如果满足,打印付款成功

if(money>=total){

console.log('pay success');

}else{

//否则,打印余额不足

console.log('pay error');

}

3.if...else语句嵌套

语句0;

if(逻辑表达式1){

    语句1;

}else if(逻辑表达式2){

    语句2;

}else...if(逻辑表达式n){

    语句n;

}else{

语句n+1;//在以上n种情况都不满足的情况下才执行  }

执行流程:

①执行语句0

②执行逻辑表达式1,如果结果是true,执行语句1;否则执行逻辑表达式2,如果结果是true,执行语句2 ;否则继续执行其他的逻辑表达式

③如果以上所有的逻辑表达式结果都是false,则执行语句n+1

4.多项分支语句 switch...case语句

语句0;

switch(表达式){

  case 1:  //如果表达式的值是1,选择进入这个入口执行程序

    语句1;

    ......

    break;  //终止,不会再向下执行程序

  ......

  case n:

    语句n;

    ...

    break;

  default  //以上所有的值都不匹配,选择这个入口执行程序

    语句n+1;

    ...

}

注意:在switch语句中,比较所执行的是全等于(===)

练习:使用switch...case语句完成星座判断

 

if...else和switch...case的区别

if...else可以判断所有情况,例如大于,小于,等于,不等于...

switch...case只能用于全等于(===)的比较,局限性较大,但是执行效率更快

 

5.循环语句 while

循环就是一遍又一遍执行相同或者相似的代码

例如:循环产生商品列表,打印100次“hello”

while(布尔型的表达式){

  //要循环的代码

}

 

 

练习:

完成使用switch...case语句,判断一个人的成绩 60-69 70-79 80-89 90-99 100

让分数除以10,然后取整(parseInt),所得结果6,7,8,9,10

扩展学习:学习for循环,while循环,循环嵌套

 

 

 

 

 

 

猜你喜欢

转载自blog.csdn.net/zbw970802/article/details/81513965