JS语句——if,switch,while,for

语句基本定义

我们的程序是由一条一条语句构成的
语句是按照自上向下的顺序一条一条执行的
在JS中可以使用{}来为语句进行分组,
同一个{}中的语句我们称为是一组语句,它们要么都执行,要么都不执行
一个{}中的语句我们也称为叫一个代码块
在代码块的后边就不用再编写;
注意:
JS中的代码块,只具有分组的的作用,没有其他的用途。
代码块内部定义的变量,在外部是完全可见的,在代码块外面也可以使用。

流程控制语句

jS中的程序是从上到下一行一行执行的
通过流程控制语句可以控制程序执行流程,使程序可以根据一定的条件来选择执行.
语句的分类:
1.条件判断语句
2.条件分支语句
3.循环语句

条件判断语句——if

  • 语法一:
if(条件表达式)
{
代码块;
}

如果条件表达式值为true,执行if后的语句
否则,不执行。

  • 语句二
 if(条件表达式){
 代码块;
 }else{
 代码块;
 }
  • 语法三:
  if(条件表达式1){
            代码块;
        }else if(条件表达式2){
            代码块;
        }else if(条件表达式3){
            代码块
        }else{
            代码块
        }

eg:

var age = 18;
        if(age>100){
            alert("长命百岁!");
        }else if(age>80){
            alert("高寿高收!");
        }else if(age>60){
            alert("您退休了!");
        }else if(age>30){
            alert("已经中年啦!");
        }else if(age>=18){
            alert("你已经成年了!";
        }else{
            alert("你是个小孩子哦")
        }
       

如果所有的条件都不满足,则执行最后一个else中的语句中
只会有一个代码块被执行,一旦代码块执型,就跳出if语句。

Prompt(“字符串参数”)

prompt()可以弹出一个提示框,该提示框有一个文本框,用户可以在文本框中输入一段内容
该函数需要有一个字符串作为参数,该参数会作为提示框的提示文字
eg:

 prompt("输入小明的期末成绩")

在这里插入图片描述
用户输入的内容会作为Prompt的返回值返回,我们需要定义一个变量进行接收:

 var score = prompt("输入小明的期末成绩")

例子:if嵌套:

   var score = prompt("输入小明的期末成绩(0-100)")
    //    if(!(score<=100 && score>=0)){
         if(score>100 || score<0 || isNaN(score)){
           alert("输入不正确")
       }else{

       if(score == 100){
           alert("奖励一辆宝马")
       }else if(score>=80){
           alert("奖励一个手机")

       }else if(score>=60){
           alert("奖励一本参考书")
       }else{
           alert("没有奖励")
       }
    }

  • 注意 :prompt()函数的返回值是String类型的
    可以输入之后再进行类型转换:
var num1 = +prompt("请输入第一个数:");
var num2 = +prompt("请输入第二个数:");
var num3 = +prompt("请输入第三个数:");

条件分支语句——switch语句

  • 在执行时会一次将case后的表达式的值和switch后的条件表达式的值进行全等比较:
    如果比较结果为true,则从当前case处开始执行代码。
    如果比较结果为false,则继续向下比较。
  • 需要有break;,没有break时会一直向下执行直到执行完switch语句。
  • 如果所有的比较结果都为false,则只执行default后的语句

格式

switch(条件表达式){
            case 表达式:
                语句...
                break;
            case 表达式:
            语句...
                break;
            case 表达式:
                语句...
                break;
            case 表达式:
                语句...
                break;
            default 表达式:
                语句...
                break;
        }

eg:60分及以上及格,否则不及格

 switch(parseInt(score/10)){
            case 10:
            case 9:
            case 8:
            case 7:
            case 6:
                console.log("合格");
                break;
            default :
                console.log("不合格")
                break;
        }

switch(true){
        case score>=60:
            console.log("合格");
            break;
        default:
            console.log("不合格");
    }

switch语句和if语句的功能实际上有重复的,使用 switch 可以实现 if 的功能,同样使用if也可以实现switch的功能|

循环语句——while

while

通过循环语句可以反复的执行一段代码多次
格式:

while(条件表达式){
             代码块;
         }

先对条件表达式进行求值判断,

  • 如果值为true,则执行循环体,循环体执行完毕以后,继续对表达式进行判断如果为true,则继续执行循环体,以此类推
  • 如果值为false,则终止循环

循环三要素:初始化条件、条件表达式、更新表达式
使用break退出循环

eg:

//1.创初始化一个变量
var i = 0;
//2.在循环中设置一个条件表达式
while(i < 10){
alert(i);
//3.定义一个更新表达式,每次更新初始化变量
i++;
}

dowhile

do{
语句……
}while(条件表达式)

do. …while语句在执行时,会先执行循环体,循环体执行完毕以后,再对while后的条件表达式进行判断:

  • 如果结果为true,则继续执行循环体,执行完毕继续判断以此类推如果
  • 结果为false,则终止循环
var money = 1000;
        var i = 0;
        while(money<5000){
            money*=1.05;
            i++;
        }

while是先判断后执行,而do. …while会先执行后判断

for循环

也有循环三要素:

  1. 初始换表达式
  2. 条件表达式
  3. 更新表达式
    语法:
 for(初始化表达式;条件表达式;更新表达式){
     语句……
 }

流程:

  1. 初始化表达式,初始化变量;(执行且只执行一次)
  2. 执行条件表达式:为真则执行循环体,为假则跳出循环
  3. 更新表达式
       for(var i=0; i<10; i++){
           alert(i);
       }

       
       var i =0 ;
       for(;i<10;){
           alert(i++);
       }

for的死循环:

 for(;;){
        代码块;  
      }

练习:
1到100奇数和

 var sum =0;
       for(var i =0 ;i <= 100; i++){
        //    判断i是否是奇数
            if(i%2 != 0){
                sum+=i;
            }
       }
       console.log("奇数之和为"+sum);

水仙花数:

      var sum =0;
       for(var i = 100 ;i < 1000; i++){
        //    判断i是否是奇数
            var a = parseInt(i / 100);//百位
            var b = parseInt(i / 10) % 10;//十位
            var c = i % 10;//个位
            if(a * a * a + b * b * b+ c * c * c == i )
            console.log(i);
       }

输出:

153
370
371
407

判断是否是质数

  var num =prompt("请输入一个大于1的整数");
       if(num <= 1){
           alert("该值不合法");
       }else{
           var flag = true;
           for(var i =2 ;i < num; i++){
               if(num % i == 0){
                   flag = false;
                   break;
               }

           }
           if(flag)
           alert("是质数!")
           else
           alert("不是质数!");
       }

嵌套的for循环

(1)

for(var i = 0; i < 5; i++){
                for( var j = 0; j <= i; j++){
                    document.write("* ");
                }
                document.write("<br />");

            }
            for(var i = 0; i < 5; i++){
                for( var j = 0; j < 5-i; j++){
                    document.write("* ");
                }
                document.write("<br />");

            }

输出:

*
* *
* * *
* * * *
* * * * *
* * * * *
* * * *
* * *
* *
*

99乘法表:

<script type="text/javascript" >
       
  for(var i = 1;i <= 9; i++){
       for(var j = 1; j <=i; j++){
           document.write("<span>"+j+"*"+i+"=" +i*j+"</span>")
       }
       document.write("<br />")

   } 
</script>
<style>
   span{
       display: inline-block;
       width: 80px;
   }
</style>

break和continue

break关键字只可以用来退出switch或循环语句

break关键字只可以用来退出switch或循环语句,且break对最近的循环起作用。
eg:

          for(var i = 0; i <=10 ;i++){
               console.log("外层循环" + i);
               for(var j = 0; j <= i; j++){
                   break;
                   console.log("内层循环:" + j);
               }
           }

标签的使用:可以使用标签来表示循环。

可以为循环语句创建一个label,来标识当前的循环
格式:

label:循环语句
  • 标签结合break:
    使用break语句时,可以在break后跟着一个label,这样break将会结束指定的循环,而不是最近的。
          outer:
           for(var i = 0; i <=10 ;i++){
               console.log("外层循环" + i);
               inside:
               for(var j = 0; j <= i; j++){
                   break outer;
                   console.log("内层循环:" + j);
               }
           }

continue

continue是用来跳过档次循环,继续执行下一次循环。
continue只对他最近的循环起作用。

           outer:
           for(var i = 0; i <=10 ;i++){
               console.log("外层循环" + i);
               inside:
               for(var j = 0; j <= i; j++){
                   if(j == 1){
                       continue;
                   }
                   console.log("内层循环:" + j);
               }
           }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值