【重温基本】3.轮回和迭代

本文是 重温基本 系列文章的第三篇,本日想起鬼脚七的一句话:人不一定自在,但头脑一定是自在的。头脑没有对和错,也没有高和低,只要差别。相识一个人能够去相识他的头脑。

系列目次:

本章节温习的是JS中的轮回语句,让我们能更疾速且简朴的完成一些需求。

起首我们要知道:轮回实际上就是把一个事变反复n次实行,也有多是0次,JS中有以下几种轮回语句范例:

  • 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,然后退出轮回;

其他例子:

// 求数组中一切值的和
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的前提,退出轮回:

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

3.while语句

反复实行while的前提,直到while的前提为false,退出轮回:

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-mailpingan8787@qq.com
博 客www.pingan8787.com
微 信pingan8787
逐日文章引荐https://github.com/pingan8787…
JS小册js.pingan8787.com

迎接关注微信民众号【前端自习课】天天清晨,与您一同进修一篇优异的前端手艺博文 .

    原文作者:pingan8787
    原文地址: https://segmentfault.com/a/1190000017343343
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞