【重溫基礎】3.循環和迭代

本文是 重溫基礎 系列文章的第三篇,今天想起鬼腳七的一句話:人不必定自由,但思想必定是自由的。思想沒有對和錯,也沒有高和低,只有不一樣。瞭解一我的能夠去了解他的思想。
前端

系列目錄:git

本章節複習的是JS中的循環語句,讓咱們能更快速且簡單的完成一些需求。 github

首先咱們要知道:循環實際上就是把一個事情重複n次執行,也有多是0次,JS中有如下幾種循環語句類型:segmentfault

  • for語句
  • do...while語句
  • while語句
  • labeled語句
  • break語句
  • continue語句
  • for...in語句
  • for...of語句

1.for語句

重複執行for的條件語句,直到循環條件爲false退出循環:數組

var a = 1;
for ( a < 3){
    a ++;
}

這個語句大概執行了如下操做:微信

  • 1.定義並初始化一個變量a的值爲1
  • 2.執行循環語句,條件爲當a < 3的時候,a每次遞增1
  • 3.返回第2步繼續循環;
  • 4.當a在等於4的時候,不知足循環條件a < 3,而後退出循環;

其餘例子:ide

// 求數組中全部值的和
var a = [ 1, 3, 4, 6];
var sum = 0;
for (var i = 0; i < a.length; i++){
    sum += a[i];
}
sum; // 14

2.do...while語句

重複執行do的條件,直到不符合while的條件,退出循環:oop

do {
  a += 1;
  console.log(a);
} while (a < 5);

3.while語句

重複執行while的條件,直到while的條件爲false,退出循環:post

var a = 0;
var b = 0;
while (a < 5){
    a ++;
    b += a;
}
// a => 5; b => 15

4.labeled語句

用來標識一個程序位置的標識符,如標識一個循環,並在breakcontinue中指出中國標識符,來中止這個循環。學習

var a = [1, 2, 3, 4, 5];
labelName:
for(var i = 0 ;i< a.length; i++){
    console.log(i);
    if(i > 1){
        break labelName;
    }
}
// 0
// 1
// 2

5.break語句

用於終止一個循環,還能夠在switch中終止,一般這麼使用:

  • 終止一個循環:
for(var i = 0 ;i< a.length; i++){
    if(a[i] == 1){
        break;
    }
}
  • 終止一個label
leo:
for(var i = 0 ;i< a.length; i++){
    for(var j = 0 ;j< a.length; j++){
        if(a[i] == a[j]){
            break leo;
        }
    }
}

6.continue語句

用來跳過當前循環,進入下個循環,可使用在whiledo...whilefor或者label語句:

  • 有使用continue
var a = 0;
var b = 0;
while (a < 5 ){
    a ++;
    if(a == 2){
        continue;
    }
    b += a;
    console.log(b);
}
// 1 4 8 13
  • 沒有使用continue
var a = 0;
var b = 0;
while (a < 5 ){
    a ++;
    if(a == 2){
        // continue;
    }
    b += a;
    console.log(b);
}
// 1,3,6,10,15

7.for...in語句

一般用於遍歷一個對象的全部可枚舉的屬性,執行指定方法:

var a = [
    {name : 'leo'},
    {name : 'pingan'},
    {name : '平安'},
]
for(var k in a){
    // a爲循環對象 k爲當前指針位置
    console.log(a[k]);
}

8.for...of語句

一般用於遍歷一個可迭代對象(包括Array,Map,Set和參數對象arguments等),執行指定方法:

var a = [1, 2, 5];
for(var k in a){
    console.log(k);   // k 爲當前元素的下標
}
for(var m of a){
    console.log(m);   // m 爲當前元素的值
}

參考資料

1.MDN 循環和迭代


本部份內容到這結束

Author 王平安
E-mail pingan8787@qq.com
博 客 www.pingan8787.com
微 信 pingan8787
每日文章推薦 https://github.com/pingan8787...
JS小冊 js.pingan8787.com

歡迎關注微信公衆號【前端自習課】天天早晨,與您一塊兒學習一篇優秀的前端技術博文 .

相關文章
相關標籤/搜索