循环是多次执行同一段代码的一种手段。当你需要在一个数组或对象集上重复执行相同的任务时,这是非常有用的。

  JavaScript提供执行for和while循环的功能。

  1、while循环

  JavaScript中最基本的循环类型是while循环。while循环测试表达式,并继续执行包含在它的{}括号中的代码,直到表达式计算结果为false为止。

  例如,下面的while循环一直执行,直到i等于5为止:

    var i = 1;

    while (i<5){

      console.log("Iteration" + i);

      i++;

    }

  本示例将下面的输出发送到控制台:

    Iteration 1

    Iteration 2

    Iteration 3

    Iteration 4

  2、do/while循环

  另一种类型的while循环是do/while循环。如果你总是想至少执行一次循环中的代码,并且除非代码至少执行一次,否则不能对表达式进行测试时,这是很有用的。

  例如,下面的do/while循环一直执行,知道days等于wednesday为止:

    var days = ["monday","tuesday","wednesday","thursday","friday"];

    var i=0;

    do{

      var day=days[i++];

      console.log("it's " + day)

    }while (day != "wednesday");

  这是在控制台的输出:

    it's monday

    it's tuesday

    it's wednesday

  

  3、for循环

  JavaScript的for循环允许你使用一个把3个语句结合成一个执行块的for语句,将代码执行特定的次数。它的语法如下:

    for(赋值;条件;更新){

      要执行的代码;

    }

  for语句使用如下所示的3个语句来执行循环。

  赋值:这是在循环开始前执行的,并且不再次执行。它被用来初始化将在循环的条件语句中使用的变量。

  条件:在循环的每次迭代之前计算该表达式的值。如果表达式的值为true,则循环继续执行;否则,for循环执行结束。

  更新:在每次迭代中,更新在执行了循环中的代码后执行。这通常用于递增在条件中使用的计数器。

  下面的例子说明了一个for循环,其中一个循环嵌套在另一个循环内:

    for (var x=1;x<=3;x++){

      for (var y=1;y<=3;y++){

        console.log(x+"x"+y+"="+(x*y));

      }

    }

  输出到Web控制台的结果是:

    1x1=1

    1x2=2

    1x3=3

    2x1=2

    2x2=4

    2x3=6

    3x1=3

    3x2=6

    3x3=9

  4、for/in循环

  另一种类型的for循环是for/in循环。for/in循环在能够被迭代的任何数据类型上执行。在大多数情况下,你将在数组和对象中使用for/in循环。下面的例子说明了一个简单的数组上的for/in循环的语法和行为:

    var days = ["monday","tuesday","wednesday","thursday","friday"];

    for (var idx in days){

      console.log("it's" + + days[idx] + "<br>");

    }

  注意,每次迭代循环时,变量idx都被调节,从开始的数组索引带最后的索引。输出结果为:

    it's monday

    it's tuesday

    it's wednesday

    it's thursday

    it's friday

  5、中断循环

  当你使用循环时,有时候你需要在代码本身的内部中断代码的执行,而无须等待下一次迭代。有两种不同的方法来做到这一点:使用break和continue关键字。

  关键字break完全停止执行一个for或while循环。在另一方面,continue关键字停止执行循环内的代码,并继续进行下一个迭代。考虑下面的几个例子。

  这个例子显示了break的使用,如果这一天是星期三(wednesday):

    var days =  ["monday","tuesday","wednesday","thursday","friday"];

    for (var idx in days){

      if (days[idx] == "wednesday")

        break;

      console.log("it's" + days[idx] + "<br>");

    }

  一旦该值是星期三,循环执行就完全停止:

    it's monday

    it's tuesday

  这个例子显示了continue的使用,如果这一天是星期三:

    var days = ["monday","tuesday","wednesday","thursday","friday"];

    for (var idx in days){

      if(days[idx] == "wednesday")

        continue;

      console.log("it's" + days[idx] + "<br>");

    }

  请注意,因为是continue语句,对于星期三,不执行写操作(continue.log()),但此循环的执行是完整的:

    it's monday

    it's tuesday

    it's thursday

    it's friday

JavaScript基础——实现循环的更多相关文章

  1. JavaScript 基础数组循环和迭代的几种方法

    JavaScript 数组循环和迭代   (之前一直没怎么注意数组循环,今天做一道题时,用到forEach循环发现它并没有按照我想象的样子执行,总结一下数组循环) 一.第一种方法就是for()循环   ...

  2. JavaScript 基础(四) 循环

    JavaScript的循环有两种,一种是for 循环,通过初始条件,结束条件和递增条件来循环执行语句块: var x = 0; var i; for(i=1; i <=10000; i++){ ...

  3. javascript基础之循环

    //while循环 <script type="text/javascript"> i = 1; while (i <= 6) { document.write( ...

  4. javascript基础系列(入门前须知)

    -----------------------小历史---------------------------- javascript与java是两种语言,他们的创作公司不同,JavaScript当时是借 ...

  5. 前端(十二)—— JavaScript基础操作:if语句、for循环、while循环、for...in、for...of、异常处理、函数、事件、JS选择器、JS操作页面样式

    JavaScript基础操作 一.分支结构 1.if语句 if 基础语法 if (条件表达式) { 代码块; } // 当条件表达式结果为true,会执行代码块:反之不执行 // 条件表达式可以为普通 ...

  6. javascript基础入门之js中的结构分支与循环语句

    javascript基础入门之js中的结构分支与循环语句 程序的结构①顺序结构:自上而下:②选择(分支)结构:多条路径,根据不同的条件,只执行其中一个:③循环结构:重复某些代码④配合特定的语句实现选择 ...

  7. JavaScript基础

    JavaScript基础 JavaScript是一门编程语言,浏览器内置了JavaScript语言的解释器,所以在浏览器上按照JavaScript语言的规则编写相应代码之,浏览器可以解释并做出相应的处 ...

  8. 前端之JavaScript基础

    前端之JavaScript基础 本节内容 JS概述 JS基础语法 JS循环控制 ECMA对象 BOM对象 DOM对象 1. JS概述 1.1. javascript历史 1992年Nombas开发出C ...

  9. 一步步学习javascript基础篇(3):Object、Function等引用类型

    我们在<一步步学习javascript基础篇(1):基本概念>中简单的介绍了五种基本数据类型Undefined.Null.Boolean.Number和String.今天我们主要介绍下复杂 ...

随机推荐

  1. sql种类

  2. 实现简易而强大的游戏AI——FSM,有限状态机

    http://blog.friskit.me/2012/05/introduction-of-fsm/ 在很久很久以前,受限于计算机性能和图形效果,游戏往往是以玩家为唯一主动对象的,玩家发出动作,游戏 ...

  3. SSH-Struts第二弹:一个Form提交两个Action

    根据CSDN中的博客:http://blog.csdn.net/forwayfarer/article/details/3030259进行学习. 1.多个submit的Form表单页面 or 在jsp ...

  4. 剑指Offer 找出字符串中第一个只出现一次的字符

    题目描述 找出字符串中第一个只出现一次的字符 如果无此字符 请输出'.' 输入描述: 输入一串字符,由小写字母组成 输出描述: 输出一个字符 输入例子: asdfasdfo 输出例子: o 思路:数组 ...

  5. OpenGL图元的颜色属性

    OpenGL支持两种颜色模式:一种是RGBA,一种是颜色索引模式. 1. RGBA颜色RGBA模式中,每一个像素会保存以下数据:R值(红色分量).G值(绿色分量).B值(蓝色分量)和A值(alpha分 ...

  6. 1.Express入门

    Express提供了轻量级框架,把Node.js的http模块功能封装在接口中. 也扩展了http模块功能,处理服务器路由,响应,cookie和HTTP请求的状态. 实现Express充当服务器,设计 ...

  7. 基于用户相似性的协同过滤——Python实现

    代码基本来自项亮的<推荐系统实践>,把书上的伪代码具体实现,还参考了https://www.douban.com/note/336280497/ 还可以加入对用户相似性的归一化操作,效果会 ...

  8. Tomcat服务器绑定域名的配置

    前面写到过Linux下tomcat服务器的部署,实际上只要域名正常解析到了服务器,那么不用绑定域名也是可以正常访问的,比如默认情况下访问xxx.net:8080与www.xxx.net:8080都可以 ...

  9. Java for LintCode 颜色分类

    给定一个包含红,白,蓝且长度为n的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红.白.蓝的顺序进行排序. 我们可以使用整数0,1和2分别代表红,白,蓝. 解题思路: Java for Leet ...

  10. Python字符编码

    http://www.runoob.com/python/python-strings.html ASCII Unicode UTF-8 # -*- coding: utf-8 -*- 格式化 %运算 ...