2018-12-11


流程控制

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


条件判断语句(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>
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容