for循環數組
一、for有三個表達式:①聲明循環變量;②判斷循環條件;③更新循環變量;三個表達式之間,用;分割,spa
for循環三個表達式均可以省略,可是兩個「;」缺一 不可。3d
二、for循環的執行特色:先判斷再執行,與while相同 code
三、for循環三個表達式均可以有多部分組成,第二部分多個判斷條件用&& ||鏈接,第一三部分用逗號分割;對象
for(var num = 1;num<10;num++){ console.log(num);//1,2,3,4,5,6,7,8,9 }
while循環 blog
while循環()中的表達式,運算結果能夠是各類類型,可是最終都會轉爲真假,轉換規則以下。ip
①Boolean:true爲真,false爲假;
②String:空字符串爲假,全部非空字符串爲真;
③Number:0爲假,一切非0數字爲真;
④null/Undefined/NaN:全爲假;
⑤Object:全爲真。字符串
var num = 1;//一、聲明循環變量 while (num<10){//二、判斷循環條件; console.log(num);//三、執行循環體操做; num++;//四、更新循環變量; }
do-while循環 it
while循環特色:先判斷後執行;io
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'
循環控制語句
一、break:跳出本層循環,繼續執行循環後面的語句。
若是循環有多層,則break只能跳出一層。
二、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 }