js中的分支与循环

、js的分支结构

js的分支结构包括:if-else结构、多重if结构、嵌套if结构和switch-case结构

1、if-else结构

 1、结构的写法:
    if(判断条件){
    //条件为ture时,执行if的{}
    }else{
     //条件为false时,执行else的{}
    }
     2、注意事项:
     ①else{}语句块。可以根据情况进行省略。
     ②if和else后面的{}可以省略,但是省略{}后,if和else后面只能跟一条语句;(所以,并不建议省略{})
     
     3、if的()中的判断条件,支持的情况:
     ①Boolean:ture为真,false为假;
     ②String:空字符串为假,所有非空字符串为真;
     ③Number:0为假,一切非0数字为真;
     ④Null/undefined/NaN:全为假;
     ⑤Object:全为真;

示例:要求:如过三件商品的总价大于100元或折其中一件商品的价格大于50元,则打8.5折。

        var num1 = parseFloat(prompt("请输入第一种商品的价格:"));
        var num2 = parseFloat(prompt("请输入第二种商品的价格:"));
        var num3 = parseFloat(prompt("请输入第三种商品的价格:"));

        if(num1>50||num2>50||num3 > 50||(num1+num2+num3)>100){
                var  mon = (num1+num2+num3)*0.85;
                alert("总价为:"+mon);
            }else{
                var  mon = (num1+num2+num3);
                alert("总价为:"+mon);

            }

2、多重if结构  

  1、结构写法:

if(条件一){
        //条件一成立,执行的操作
       }else if(条件二){
        //条件一不成立&&条件二成立,执行的操作
     }else{
        //上述条件都不成立执行的操作
     }
     2、多重if结构中,各个判断条件是互斥的,执行选择其中一条路执行。遇到正确选项并执行完以后,直接跳出结构,不再判断后续分支;
 示例:根据成绩计算成绩等级

var m =  prompt("请输入成绩:");

            if(m >=90){
                alert("优");
            }else if(m >=80&&m <90){
                alert("良");
            }else if(m>=60&&m<80){
                alert("中");
            }else{
                alert("差");
            }

 3、嵌套if结构

1、结构写法
       if(条件一){
           //条件一成立
        if(条件二){
          //条件一成立&&条件二成立
        }else {
            //条件一成立&&条件二不成立
        }
     }else{
         //条件一不成立
     }
     
     2、在嵌套if结构中,如果省略{},则else结构永远属于离他最近的一个if结构。

  3、嵌套结构可以多层嵌套,但是一般不超过3层。能用多层if结构的一般不推荐使用嵌套if。

示例:输入三个数并求出三个数的最大值

<script type="text/javascript">
            var a= prompt("请输入第一个数:");
            var b= prompt("请输入第二个数:");
            var c= prompt("请输入第三个数:");

            if(a>b){
                if(a>c){
                    alert("最大值为:"+a);
                }else {
                    alert("最大值为:"+c);
                }
            }else {
                if(b>c){
                    alert("最大值为:"+b)
                }else {
                    alert("最大值为:"+c)
                }
            }

</script>

4、switch-case结构

1、结构写法:

switch(表达式){ 

  case 值1 : 语句1 break;
  case 值2 : 语句2 break;
  ...
  default : 语句n break;

}

2、注意事项:
      ①switch结构()中的表达式可以使用各种js支持的数据类型;
      ②switch结构在进行判断的时候,使用===(全等)判断;
      ③case后面的表达式可以是各种数据类型,但是值要求各不相同,否则也只会执行第一个case;
      ④break作用:执行完case后,跳出当前switch结构;
       缺少break后果:从第一个正确的case项开始,执行后面的所有case和default;
       原因:↓
      ⑤switch结构在进行判断的时候,只会判断一次正确答案。当遇到正确的case后,将不会在判断后续的项目。
      ⑥switch结构的执行效率要比多重if快。在多路分支结构中,优先推荐使用switch。

示例:

            var num=5;
            switch (num-4){
                case 1:
                document.write("第一个case");
                    break;
                    case 2:
                document.write("第二个case");
                    break;
                    case 3:
                document.write("第三个case");
                    break;
                default:
                document.write("case都不成立,执行default");
                    break;
            }        

 二、循环结构

常用的循环结构有:while循环、do-while循环,for循环和循环的嵌套

其中,循环结构的步骤:1、声明循环变量; 2、判断循环条件3、执行循环体操作;4、更新循环变量;

 然后循环执行2-4,知道条件不成立时,跳出循环

1、while循环:

1、结构:

var num=1;  //1、声明循环变量
   while(num <10){  //2、判断循环条件
      document.write(num+"<br>");  //3、执行循环体操作;
      num++;
   }

2、注意事项:

①while循环中的表达式可以是各种类型。但是最终都会转为真假,转换规则同if相同:

②while循环的特点:先判断再执行;

示例:输入一个数字,计算1到这个数字所有数字的和;

var num  = parseInt(prompt("请输入一个数字"));
            var i = 1 ;
            var sum=0;
            while (i<=num){

                 sum+=i;

                i++;
            }

2、do-while循环

1、结构:

do{

  语句

}while(判断条件);

2、注意事项:

do-whlie循环的特点:先执行,再判断;即使初始条件不成立,do-while循环也至少执行一次。

示例:猜数游戏。要求猜一个介于1~10之间的数字,根据用户猜测的数与标准值进行对比,并给出提示,以便下次猜测能接近标准值,直到猜中为止。

           var a = 7;

            do{
                var b = prompt("请输入一个数:");
                if(b>7) {
                alert("数字太大了~");
                }else if(b<7) {
                    alert("数字太小了~");
                    }else {
                        alert("你真聪明!猜对了!")
                        }

            }while(b!=a);

3、for循环

1、结构

for(var i=1;i<10;i++){
   语句;
  }
  2、for循环有三个表达式:
    申明循环变量
    判断循环条件
    更新循环变量
   三个表达式之间用分号分隔,三个表达式可以省略,但是两个分号缺一不可。
  3、for循环执行特点:先判断,再执行,与while相同。
  4、 for循环三个表达式都可以有多部分组成;第二部分多个判断条件用&& ||链接,第一三部分用逗号分隔;
示例:计算1到100之间所有数字的和:

<script type="text/javascript">
            var sum=0;
            for(var a=1,b=100;a<=50&&b>=51;a++,b--){
                if(b==51)  {
                    document.write("("+a+"+")
                    document.write(b+")=");
                }else {
                    document.write("("+a+"+")

                    document.write(b+")+");
                }
                var sum = sum+parseInt(a+b);
            }
            document.write(sum);
        </script>

4、循环嵌套

1、循环嵌套的规律
    外层循环控制行数,内层循环控制每行中元素的个数。

示例:打印九九乘法表:

<script type="text/javascript">
            var sum=0;
            for (var i = 1;i<=9;i++) {

                document.write("<table border=2;>")
                var rowSum=1;
                document.write("</tr>")
                for(var j=1;j<=i;j++){

                        sum = i*j;
                    document.write("<td >"+i+"*"+j+"="+sum+"</td>");
                }
                document.write("</tr>")

                document.write("</table>")
            }

        </script>

4、循环控制语句
     1、break:跳出本层循环,继续执行循环后面的语句。
        如果循环有多层嵌套,则break只能跳出一层;
     
     2、continue:跳过本层循环剩余的代码,继续执行下一次循环。
       ①对于for循环,continue之后执行的代码,是循环变量更新语句,i++;
       ② 对于while、do-while循环,continue之后执行的语句,是循环条件判断;
      因此,使用这两个循环时,必须将continue放到i++之后使用。否则continue跳过i++导致死循环。

 

时间: 2024-12-29 09:13:26

js中的分支与循环的相关文章

JS中的运算符&amp;JS中的分支结构

一.JS中的运算符 1.算术运算(单目运算符) + 加.- 减.* 乘./ 除.% 取余.++ 自增.-- 自减 >>> +:有两种作用,连接字符串/加法运算.当+两边全为数字时,进行加法运算: 当+两边有任意一边为字符串时,起连接字符串的作用,连接之后的结果为字符串 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字 >>> /: 结果会保留小数点 >>> ++: 自增运算符,将变量在原有基础上+1: --: 自减运算符,将变量在原

JS中的运算符和JS中的分支结构

JS中的运算符 1.算术运算(单目运算符) + .-.*. /. %取余.++自增 .--自减 +:两种作用,链接字符串/加法运算.当+两边全为数字时,进行加法运算:当+两边有任意一边为字符串时,起链接字符串作用, 链接之后的结果为字符串. 除+外,其余符号运算时,会先尝试将左右变量用Number函数转为数字: /:结果会保留小数点. ++:自增运算符,将变量在原有基础上+1: --:自增运算符,将变量在原有基础上-1: [a++和++a的异同] ①相同点:无论a++还是++a,运算完以后,a的

js中奇特的for循环写法

//正常的for循环 for(var i=0;i<10;i++){ console.log(i); } //输出:1,2,3……10 //简写 for(var i=10;i--;){ console.log(i); } //输出:9,8,7,……0 //变种: for(var i=-10;i++;){ console.log(i*-1); } //输出:9,8,7,……0 因为在js中,0,null,undefined,false,'',""作为条件判断时,其结果为false i

JS基础-----JS中的分支结构及循环结构

[分支结构] 一.if-else结构 1.结构的写法:if(判断条件){ //条件为true时,执行if的{} }else{ //条件为false时,执行else的{} } 2.注意事项 ①else语句块.可以根据情况进行省略. ②if和else后面的{}可以省略,但是省略{}后,if和else后面只能跟一条语句.(所以并不建议省略{}) 3.if的()中的判断条件,支持的情况: ①Boolean:true为真,false为假: ②String:空字符串为假,所有非空字符串为真: ③Number

JS中有关分支结构、循环结构以及函数应用的一些简单练习

案例一:搬桌子    年龄大于七岁男女都可以搬桌子,年龄小于七岁大于五岁的男生可以搬桌子: var num =parseInt(prompt("请输入你的年龄")) var sex = prompt("请输入你的性别:男/女") if(num>=7){ alert("你可以搬桌子哦") } else{ if(num>=5&&sex=="男"){ alert("你可以搬桌子哦")

vue.js中请求数据v-for循环使用数据

1.效果图 2.cart.json { "message":"", "status":"1", "result":{ "totalMoney":0, "productList":[ { "productId":"10001", "productName":"黄鹤楼香烟", "pr

js中数组以及for循环的使用

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <style type="text/css"> div{ width:200px; height:200px; float:left; border:1px solid #000; margin:20px; } <

js 中的for...in循环

in:其左边是一个字符串或可以转换成字符串,右边是一个对象或数组 例:var person={firstname:"Bob", lastname:"Kin"}; for(x in person) { text = text + person[x]; } document.write(text);//输出BobKin 使用for-in循环也被称为“枚举”,其应该用在非数组对象的遍历上.若用来循环数组,数组对象已被定义的功能增强,可能发生逻辑错误,而且在for-in中,

js中两种for循环的使用

针对两种for循环的使用 1. for in循环的使用环境     可用在字符串.数组.对象中, 需注意:其中遍历对象得到的是每个key  的value值 2. for 变量递加的方式               可用在字符串.数组中    其中对象不能遍历 以下是测试代码   可以挨个测试以下 <script> // var n = '1233445' // var n = [1,2,3,4] var n = {name: 'wangweipeng', age: 23}; // for (v