js筆記九之for,for-in循環(huán)

循環(huán)操作語句

循環(huán): 重復做一件事情

for循環(huán)

// for(設置循環(huán)起始值;設置循環(huán)執(zhí)行的條件;步長累加){
//     循環(huán)體: 重復做的事情都在循環(huán)體中
// }

for(var i=0;i<5;i++){
    console.log(i) // 0 1 2 3 4
}
console.log(i) // 5
var i=0
for(;i<5;){ // 初始值可以在循環(huán)外聲明,但不能省略分號,
    console.log(i) // 省略步長會陷入死循環(huán),導致瀏覽器崩潰
    i++; // 步長累加可以放在循環(huán)體中
}
console.log(i)
for(var i = 0;i < 5;i++){
    console.log(i);
    continue;
    // 結束本輪循環(huán),繼續(xù)執(zhí)行下一輪: 循環(huán)體中continue后面的代碼都不會再執(zhí)行,它會直接的去執(zhí)行步長,然后進入到下一輪
    // ...
}
console.log(i); // -> 5
for(var i = 0;i < 5;i++){
    console.log(i);
    break;
    // 結束整個循環(huán): 循環(huán)體中一旦遇到break,首先后面代碼不執(zhí)行了,而且步長累加也不執(zhí)行了,循環(huán)都結束了
    // ...
}
console.log(i);  // -> 0

面試題

for(var i=1;i<10;i+=2){
    if(i<5){
        i++;
        continue;
    }else{
        i+=3;
        break;
    }
    console.log(i)
}
console.log(i)  // -> 10

for - in循環(huán)

用來遍歷(循環(huán))對象鍵值對的

對象中有多少組鍵值對,我們的for in循環(huán)就遍歷多少次(不一定)
每一次循環(huán)key這個變量存儲的都是當前循環(huán)這組鍵值對的屬性名

  • key存儲的值都是字符串格式的(不管屬性名是不是數(shù)字)
  • 在for in循環(huán)遍歷的時候,大部分瀏覽器都是先把對象中的鍵值對進行排序(把數(shù)字屬性名的排在前面,并且排列的時候按照數(shù)字有小到大排列[小數(shù)不算]),其次再把非數(shù)字的屬性名按照之前編寫的順序排列,循環(huán)的時候按照重新排列的順序依次遍歷
var obj = {name:"lilei",age:18,1:"abc",3:"ABC",2:"xyz"}
// -> 對象中有多少組鍵值對,我們的for in循環(huán)就遍歷多少次(不一定)
// -> 每一次循環(huán)key這個變量存儲的都是當前循環(huán)這組鍵值對的屬性名
for(var key in obj){
    console.log(key)  // -"string"  1,2,3,name,age
    console.log(obj.key) // undefined
    console.log(obj[key]) //每一次循環(huán)把key存儲的值(當前遍歷的屬性名)獲取到放在中括號中,獲取obj中對應的屬性的屬性值
}
// 'key': 字符串key,屬性名
// key: 變量key,代表的是存儲的值

// obj['key']  obj.key: 屬性名是key
// obj[key]: 屬性名不是key而是key變量存儲的值
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容