• js中分支语句与循环语句


    分支语句:

      单分支if () {};

          if 语句名  ()是否执行的条件  {}执行语句;

      双分支if () {} else {};

          if 如果  else 否则  按条件二选其一执行;

      多分支(1)由双分支模拟的多分支:

            if () {

            

            }else if () {

            

            }else if () {

     

            }else if () {}......;

          (2)由系统提供的语句:

            switch () {};

            switch 语句名  ()要判断的值  {} 执行语句;

            switch () {

              case 1: ... ; break;

              case 2: ... ; break;

              case 3: ... ; break;

                ·

                .

                .

              default: ... ;      // case里都不符合的时候执行default

            };

      case的穿透特性:在一个switch语句内,只会进行一次case的判断,如果判断成功,

             后面的代码全部执行。

       break关键字:阻止case的穿透,判断成功后,本次只执行到当前代码,后面的不执行。

            (break加在哪?加几个?按需求定。)

       注意:在switch中的case比较中,不存在隐式类型转换,严格比较(===)。

           eg:

            <body>
                <input type="text" id="txt">
                <input type="button" id="btn" value="点击试试">
            </body>
            <script>
              var txt = document.getElementById("txt");
                 var btn = document.getElementById("btn");
              btn.onclick = function(){
                switch(parseInt(txt.value)){
                          case 0:
                              console.log("星期天");
                              break;
                          case 1:
                              console.log("星期一");
                              break;
                          case 2:
                              console.log("星期二");
                              break;
                          default:
                              console.log("请输入0~2之间的数字");
                     }
              }
            </script>
     
       补充:if () {
          console.log("真");
         } else{
          console.log("假"); 
         }
      场景:if的小括号()中,任何类型最终都会被转成布尔值;
            ()中为数值时:除了0都转为true;
         ()中为字符时:除了“”空字符都转为true;
         ()中为对象时:都转为true;
         ()中为数组时:都转为teue;
         ()中为函数时:都转为true;
         ()中为三大特殊值时:undefined,NaN,null为false。
    循环语句:
     
      循环三要素:停止条件;
            计数器;
            计数器改变。
     
      while循环:while(){};
            while 语句名  ()执行条件  {}循环体;
            demo:var i = 0;
                 while(i < 10){
                 console.log(“hello”);
                 i ++; 
               }
      
      do-while循环:do()while(){};
           do 语句名1   () do的执行语句    while 语句名2   () 执行条件    {} while的执行语句;
            demo:var i = 0;
               do{
                 console.log("这是do的语句:"+ i);
                 i++;
               }while( i < 10 ){
                 console.log("这是while的语句:"+ i);
               }
               while后的条件为true时,会执行do后面的语句;
               while后的条件为false时,会执行一次while后的语句。
             
             while和do-while的区别:do-while在任何情况下都比while多执行一次。
     
      for循环:for(){}
           for 语句名  ()条件组  {} 循环体;
           demo:for(var i = 0;i<10;i++){
                console.log(i);
              }
     
      死循环:无法通过自身控制结束的循环。
            当不知道程序需要执行多少次是可用死循环,一直执行,不断判断
          其他条件是否符合, 符合了就停止。
          控制关键字:控制循环的执行或停止
                break:结束循环,不再执行;
                continue:跳过当前循环,进入下一次循环。
          (while比for更适合做死循环)
          
      eg:篮球从5米高的地方掉下来,每次弹起的高度是原来的30%,经过几次弹起,
         篮球的高度小于0.1米
                (未知要循环几次,用死循环,记得加控制关键字,符合条件的时候停止循环)
              var h = 5;
              var i = 1;
              while(true){
                    h = h * 0.3;
                    if(h < 0.1){
                        console.log(i);
                        break;          //  符合条件时,停止循环,后面的代码都不执行。
                    }
                    i++;
               }
     
      循环的嵌套:可以在循环里再加循环,用来解决多行多列的结构。
              外层循环控制行,内层循环控制列。
            eg:打印一个九九乘法表
               for(var i=1;i<=9;i++){
                       for(var j=1;j<=i;j++){
                            document.write( j + "*" + i + "=" + i*j + "&nbsp;&nbsp;" );
                       }
                       document.write("<br>");
                 }
  • 相关阅读:
    Universal USB Installer集开源软件之佳作
    利用sdkman安装kotlin和java环境
    centos 7 安装docker
    CentOS 7 安装中文环境
    Using ADB and fastboot
    LinearGradient线型渐变效果
    将头图片变成圆形简单实现
    望远镜效果
    BitmapShader填充图形
    给图片加阴影效果简单示例代码实现
  • 原文地址:https://www.cnblogs.com/ssmin/p/11918440.html
Copyright © 2020-2023  润新知