JS——流程控制

    技术2022-07-20  83

    《一》代码块:

    我们的程序是由一条一条的语句构成;语句是按照自上向下的顺序一条一条执行的;

    { var str = '撩课学院'; console.log("itlike.com"); document.write("喜欢IT,就上撩课"); } console.log("str=" + str);

    在JS中可以使用 {} 来为语句进行分组;同一个 {} 中的语句我们称是一组语句;它们要么都执行,要么都不执行;一个 {} 中的语句我们也称为叫一个代码块;在代码块的后边就不用再编写;了。

    JS中的代码块,只具有分组的作用,没有其他用途。

    《二》流程控制语句:

    1  三种流程结构:1顺序结构、2选择结构、3循环结构

    2  if:

    <1>if的基本格式:if(条件表达式){

        语句1

    } 后续语句

    <2>如果条件表达式为真,执行语句块1,否则不执行

    var age=20; if(age> 18){ console.log("可以上网") } console.log("哈哈哈");

    <2>如果条件表达式为真,则执行语句块1,否则执行语句块2

    var age=2; if(age > 18) { console.log('可以上网哈'); } else { console.log('不可以上网'); }

    <3>如果条件表达式为真,则执行语句块1,否则执行语句块2;如果条件表达式为真,则执行语句块2,否则再判断条件表达式3;如果条件表达式为真, 则执行语句块3,当表达式1、2、3都不满足,会执行最后一个else语句。

    var age=20; if(age > 40){ console.log('老年人'); }else if(age >20 ){ console.log('中年人'); } else if (age > 12){ console.log('成年人'); }else { console.log('未成年'); }

     

    <4>注意点:

    1 如果只有一条语句时if后面的大括号可以省略 (建议不要省略大括号)

    var age=10; if (age>18) console.log("成年人"); console.log("你控制不了我!")

    2 分号”;“也是一条语句,空语句

    if(4>6); { console.log('4>6'); }

    3  if else是一个整体,else匹配的时候匹配离它最近的一个if

    if (0) if (1) console.log("A"); else console.log("B"); else if (1) console.log("c");// c else console.log("D");

    所以这个匹配输出的就是 C。

    4  对非Boolean类型的值,会先转换为Boolean类型后再判断

    if (1){ console.log("itlike") }

    5 判断变量与字面量的问题

    if (0==a){ console.log("a的值是0\n"); }else { console.log("a的值不是0\n"); }

    6  if语句可以嵌套使用

    var num=20; if (num>=10){ if (num<=30){ console.log("满足条件!"); } } var num=20; if (num>=10 && num<=30){ console.log("满足条件!"); }

    5 课堂练习:石头剪刀布的实现

           0——剪刀,1——石头,2——布 

    //1 定义变量 var player,computer; //2 电脑出拳 computer=parseInt(Math.random()*3) console.log( parseInt(computer)); //3 玩家出拳 player=parseInt(+(window.prompt('请出拳:0—>剪刀,1->石头,2->布'))); // console.log(player); //4判断用户输入内容 if (player<0||player>2){// 不满足条 player=parseInt(+(window.prompt('请出拳:0—>剪刀,1->石头,2->布'))); console.log(player); }else {// 满足条件 if ( (player===0 && computer===2) || (player===0 && computer===2) || (player===0 && computer===2) ){ alert('恭喜你,赢了'); }else if ( (player===0 && computer===1) || (player===1 && computer===2) || (player===2 && computer===0) ){ alert('很遗憾,输了'); }else { alert('平局'); } }

     

    3 Switch:

    <1>switch示例:

    var num=3; switch (num) { case 1: console.log('壹'); break; case 2: console.log('贰'); break; case 3: console.log('叁'); break; default: console.log('其他数字'); }

    <2>注意事项:

    1 case全等问题

    var str="123"; switch (str) { case 123: console.log("123数字"); break; case "123": console.log("123"); break; default: console.log("default"); } var num=120; switch (120) { case num: console.log("120"); break; case 110: console.log("110"); break; default: console.log("default"); break; }

    2  表达式判断问题

    switch (110+1) { case 110: console.log("110"); break; case 1: console.log("1"); break; console.log("1+110"); break; default: console.log("default"); break; }

    3  case的穿透问题

    var num=1; switch (num) { case 1: console.log("壹"); break; case 2: console.log("贰"); case 3: console.log("叁"); default: console.log("非法数字") }

    4 循环:重要的结构,其他特点在给定条件成立时,反复执行某程序段,直到条件不成立为止。

    <1给定的条件称为循环条件,反复执行的程序称为循环体。

    循环结构简单来说就是:一次又一次的执行相同的代码块。

    <2while循环特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行。

    <3 while

    示例:

    爱你3000遍 var num=0; while (num<3000){ num++; console.log('爱你' +num+'遍!\n'); } var num=10; while (num<10){ alert(num); num++; }

    1 提示用户输入一个正整数n,计算1+2+3+...+n的和

    var sum=0; var num=1; while (num<10){ sum+=num; num++; } console.log(sum);

    2 获取1~100之间7的倍数的个数并打印,并统计个数

    var count=1; var num=0; while (count<=100){ if (count % 7===0){ console.log(count); num++; } count++; } console.log(num);

     

    4 for循环

    // 爱你3000遍 for (var i=0;i<=3000;i++){ console.log('爱你'+i+'遍\n' ); } // 好友列表1 // 好友1 // 好友2 // 好友3 // 好友列表2 // 好友1 // 好友2 // 好友3 for (var i=1; i<=2; i++){ console.log('好友列表'+i); for (var j=1;j<=3;j++){ console.log('好友'+j); } }

     

    2 for循环嵌套实现:打印99乘法表 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/>') }

    想做出乘法表还需要一些样式,才能有乘法表的感觉。

     

     

     

     

     

     

     

     

     

     

     

     

    Processed: 0.008, SQL: 9