js中的循環方式及各種遍歷的方法


for循環

  1、for有三個表達式:①聲明循環變量;②判斷循環條件;③更新循環變量;三個表達式之間,用;分割,

          for循環三個表達式都可以省略,但是兩個“;”缺一 不可。

      2、for循環的執行特點:先判斷再執行,與while相同  

     3、for循環三個表達式都可以有多部分組成,第二部分多個判斷條件用&& ||連接,第一三部分用逗號分割;

for(var num = 1;num<10;num++){
               console.log(num);//1,2,3,4,5,6,7,8,9
              }

while循環   

while循環()中的表達式,運算結果可以是各種類型,但是最終都會轉為真假,轉換規則如下。

  ①Boolean:true為真,false為假;
  ②String:空字符串為假,所有非空字符串為真;
  ③Number:0為假,一切非0數字為真;
  ④null/Undefined/NaN:全為假;
  ⑤Object:全為真。

var num = 1;//1、聲明循環變量
            
while (num<10){//2、判斷循環條件;
    console.log(num);//3、執行循環體操作;
    num++;//4、更新循環變量;
}

do-while循環  

while循環特點:先判斷后執行;

do-while循環特點:先執行再判斷,即使初始條件不成立,do-while循環至少執行一次,也就是說do-while循環比while循環多執行一次。

 

var num = 10;
            
do{
    console.log(num);//10 9 8 7 6 5 4 3 2 1 0
    num--;
    }while(num>=0);
            
   console.log(num);//-1

 循環的嵌套

      外層循環控制行
      內層循環控制列
      循環的嵌套:解決多行多列的結構
    
for(var j=1;j<9;j++){
        for(var i=0;i<j+1;i++){
            document.write("*");
        }
        document.write("<br>");
    }

       

       

遍歷方法

for - in

for - in語句用於對數組或者對象的屬性進行循環操作。

for - in循環中的代碼每執行一次,就會對數組或者對象的屬性進行一次操作。

 

let obj={'name':'programmer','age':'22','height':'180'};
for(let i in obj){
    console.log(i,obj[i])
}

 

for - of

 for...of循環可以使用的范圍包括數組、Set 和 Map 結構、某些類似數組的對象(比如arguments對象、DOM NodeList 對象)、后文的 Generator 對象,以及字符 串。

 JavaScript 原有的for-in循環,只能獲得對象的鍵名,不能直接獲取鍵值。ES6 提供for...of循環,允許遍歷獲得鍵值

  數組操作:

 var arr = ['a', 'b', 'c', 'd'];

        for (let a in arr) {
          console.log(a); // 0 1 2 3
        }
        
        for (let a of arr) {
          console.log(a); // a b c d
        }

 類似數組的對象操作:

        // 字符串
        var str = "hello";
        
        for (let s of str) {
          console.log(s); // h e l l o
        }
        
        // DOM NodeList對象
        let paras = document.querySelectorAll("p");
        
        for (let p of paras) {
          p.classList.add("test");
        }
        
        // arguments對象
        function printArgs() {
          for (let x of arguments) {
            console.log(x);
          }
        }
        printArgs('a', 'b');// 'a' 'b'

 

  循環控制語句

      1、break:跳出本層循環,繼續執行循環后面的語句。
    如果循環有多層,則break只能跳出一層。
      2、continue:跳過本次循環剩余的代碼,繼續執行下一次循環。
    ①對與for循環,continue之后執行的語句,是循環變量更新語句i++;
    ②對於while、do-while循環,continue之后執行的語句,是循環條件判斷;
    因此,使用這兩個循環時,必須將continue放到i++之后使用,否則
continue將跳過 i++進入死循環。

      

 for(var i=0;i<10;i++){
        if(i == 5){
            break;
        }
        console.log(i);//0,1,2,3,4
    }

    for(var i=0;i<10;i++){
        if(i == 5){
            continue;
        }
        console.log(i);//0,1,2,3,4,6,7,8,9
    }

 


  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM