2018-12-11

2018-12-13  本文已影响0人  废废_siri

流程控制

流程控制语句:
--条件判断语句
--条件分支语句
--循环语句


条件判断语句(if语句)

语法:
if(条件表达式){
语句...
//条件表达式为true则执行这里的语句块
}
注:可以写多个单行if语句,当有多个if语句时,每个if都要执行一遍。
--
语法二:
if(条件表达式){
语句...
//条件表达式为true则执行这里的语句块
}else{
语句...
//条件表达式为false则执行这里的语句块
}
注:这里的if else语句仅选择其中一条路径执行,不会每条都执行。
--
语法三:
if(条件表达式){
语句...
//为true时执行,后面的语句不再执行
//为false时不执行,后面的语句执行
}else if(条件表达式){
语句...
//为true时执行,后面的语句不再执行
//为false时不执行,后面的语句执行
}esle if(条件表达式){
语句...
//为true时执行,后面的语句不再执行
//为false时不执行,后面的语句执行
}else{
语句...
//前面都为false时执行
}
注:if...else if...else语句从上至下执行,遇到第一个为true的条件表达式则不再往下执行其他的if分支语句。

//输入三个数字进行排序,从大到小输出
<script>
    var sort1 = parseInt(prompt("请输入第一个待排序的数字:"));
    var sort2 = parseInt(prompt("请输入第二个待排序的数字:"));
    var sort3 = parseInt(prompt("请输入第三个待排序的数字:"));
    if (sort1 >= sort2) {
        if (sort2 >= sort3) {
            document.getElementById("cout").innerHTML = "从大到小的顺序为:" + sort1 + ">" + sort2 + ">" + sort3;
        } else if (sort3 >= sort1) {
            document.getElementById("cout").innerHTML = "从大到小的顺序为:" + sort3 + ">" + sort1 + ">" + sort2;
        } else {
            document.getElementById("cout").innerHTML = "从大到小的顺序为:" + sort1 + ">" + sort3 + ">" + sort2;
        }
    } else {
        if (sort1 >= sort3) {
            document.getElementById("cout").innerHTML = "从大到小的顺序为:" + sort2 + ">" + sort1 + ">" + sort3;
        }else if(sort3 >= sort2){
            document.getElementById("cout").innerHTML = "从大到小的顺序为:" + sort3 + ">" + sort2 + ">" + sort1;
        }else{
            document.getElementById("cout").innerHTML = "从大到小的顺序为:" + sort2 + ">" + sort3 + ">" + sort1;
        }

    }
</script>

条件分支语句

语法:
switch(表达式){
case 表达式:
语句...
break;
case 表达式:
语句...
break;
default:
语句...
break;
}
注:switch的表达式与case的表达式===才能匹配,为false继续向下执行,如果case全部为false,则执行default语句。
case具有穿透性,如果不加break跳出分支,那么执行到第一个满足条件的case后,后面的case语句全部被执行一遍。

//输入2018年的月份和日期,判断为2018年的那一天
<script>
    var month = parseInt(prompt("请输入月"));
    var date = parseInt(prompt("请输入日"));
    var sum = 0;
    switch(month){
        case 12:
            sum+=30;
        case 11:
            sum+=31;
        case 10:
            sum+=30;
        case 9:
            sum+=31;
        case 8:
            sum+=31;
        case 7:
            sum+=30;
        case 6:
            sum+=31;
        case 5:
            sum+=30;
        case 4:
            sum+=31;
        case 3:
            sum+=28;
        case 2:
            sum+=31
        case 1:
            sum+=date;
    }
    console.log("该天是2018年的第"+ sum + "天");
</script>

循环语句

循环语句的组成部分:
--初始化表达式
--循环条件表达式
--循环体
--更新表达式

--
for循环语句
语法:
for(①初始化表达式 ; ②循环条件表达式 ; ④更新表达式){
③循环体
}

  //判断1000中的三位水仙花数
<script>
    var num1;
    var num2;
    var num3;
    for(i=100;i<=999;i++){
        num1 = Math.floor(i/100);
        num2 = Math.floor(i%100/10);
        num3 = Math.floor(i%10);
        if(i === num1**3 + num2**3 + num3**3){
            console.log(i);  
        }     
    }
</script>

--
while循环语句
语法:
①初始化表达式
while(②循环条件表达式){
③循环体
④更新表达式
}
--
do while循环语句
语法:
①初始化表达式
do{
③循环体
④更新表达式
}while(②循环条件表达式)
--
while与do while的区别
while先判断后执行
do while先执行后判断
do while至少执行一次循环体


死循环

语法:

while(true){
}

<script>
    var count1 = 0;
    var count2 = 0;
    while(true){
        var b =  parseInt(prompt("请输入整数:"));
        if(b>0){
            count1++;
        }else if(b<0){
            count2++;
        }else{
            break;
        }
    }
    document.write(count1,count2);
</script>

--
for(;;){
}

<script>
    var count1 = 0;
    var count2 = 0;     
        for (; ;) {
            var a = parseInt(prompt("请输入整数:"));
            if (a < 0) {
                count2++;
            } else if (a > 0) {
                count1++;
            } else {
                break;
            }
        }
        document.write(count1, count2);
</script>

嵌套循环案例

//打印*
<script>
      /*分析过程
        i   j   k
        0   1   4
        1   2   3
        2   3   2
        3   1   4
        4   0   5

        0   1   4
        1   2   3
        2   3   2
        3   4   1
        */
    for (var i = 0; i < 5; i++) {
        for (var j = 0; j < (4 - i); j++) {
            document.write("&nbsp;")
        }
        for (var k = 0; k < (i + 1); k++) {
            document.write("*&nbsp;")
        }
        document.write("<br/>")
    }

    for (i = 0; i < 4; i++) {
        for (j = 0; j < (i + 1); j++) {
            document.write("&nbsp;")
        }
        for (k = 0; k < (4 - i); k++) {
            document.write("*&nbsp;")
        }
        document.write("<br/>")
    }
</script>
//九九乘法口诀表
<style>
     span{
         display: inline-block;
         width: 80px;
     }
    </style>
</head>
<body>
</body>
<script>
    for(var i=1;i<=9;i++){
        for(var j=1;j<=i;j++){
                var cj = i*j;{
                document.write("<span>"+(j+"*"+i +"="+cj) +"</span>");  
                }                                           
        }
        document.write("<br/>")
    }
</script>
//输出100以内的质数
<script>
    //   console.time("damu")          //计时
    out:
    for(var i=2;i<100;i++){
        for(var j=2;j<i;j++){
            if(i%j === 0){
                continue out;
            }
        }
        console.log(i); 
    }
    //   console.timeEnd("damu")
</script>
上一篇 下一篇

猜你喜欢

热点阅读