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>");
             }

猜你喜欢

转载自www.cnblogs.com/ssmin/p/11918440.html