频道栏目
读书频道 > web开发 > Javascript > JavaScript编程精解(原书第2版)
2.11 while和do循环
2015-12-03 16:53:13     我来说两句
收藏   我要投稿
《高级程序设计(第3版)》是 超级畅销书的**新版。ECMAScript 5 和HTML5 在标准之争中双双胜出,使大量专有实现和客户端扩展正式进入规范,同时也为 增添了很多适应未来发展的新特性。本书这一版除增加5 章  立即去当当网订购

现考虑编写一个程序,输出0到12之间的所有偶数。其中一种编写方式如下所示:



 

 该程序确实可以工作,但编程的目的在于减少工作量,而非增加。如果我们需要小于1000的偶数,还编写类似于上面的代码,就很难实现了。我们现在所需的是重复执行某些代码的方法,我们将这种控制流程称为循环。


 

我们可以使用循环控制流来让程序执行回到之前的某个位置,并根据程序状态循环执行代码。如果我们在循环中使用一个变量计数,那么就可以按照如下方式编写代码:


 

循环语句以关键字while开头。在关键字while后紧跟一个用括号括起来的表达式,括号后紧跟一条语句,这种形式与if语句类似。只要括号中的表达式产生的布尔值为true,该循环会一直执行括号后面的语句。

在该循环中,除了打印数字外我们还希望将变量加2。通过将语句包裹在大括号,即{和}之间,就可以在循环中执行多条语句了。大括号之于语句便如括号之于表达式,可以将多条语句编为一组,使得JavaScript将这组语句看成一条语句。我们将包裹在大括号中的一组语句称为语句块。

许多JavaScript程序员会将循环语句或if语句的执行体包装在大括号中,无论执行体中包含多条语句还是只有一条语句。这么做的原因在于代码的一致性,以及避免今后修改代码时增删大括号的操作。

在本书中,为了简洁起见,如果执行体中只有一条语句,则不会使用大括号将结构体包装起来。但读者可以随意选择使用哪种风格进行编码。

我们使用变量number来记录程序的执行状况。每执行一次循环,number就会增加2。每次循环开始时,会将number变量与12进行比较,确定程序是否已经完成所有预设的操作。

现在来看一个可以完成实际工作的示例,编写一个程序用于显示210(2的10次方)。我们使用了两个变量,一个用于记录结果,另一个用于记录乘以2的次数。该循环会检查第二个变量是否达到10。如果未达到,则更新这两个变量。


 

计数器变量counter也可以从1开始,每次检查计数器是否小于等于10。但是,还是建议从0开始计算比较好,我们会在第4章中讲解这个问题。

do循环控制结构类似于while循环。两者之间只有一个区别:do循环至少执行一遍循环体,只有第一次执行完循环体之后才会开始检测循环条件。do循环中将条件检测放在循环体后面,正反映了这一点:


 

该程序会强制要求用户输入姓名,直到输入的文本信息不为空,该循环才会结束。程序中使用“!”运算符先将值转换成布尔值再取反,除非字符串为空,否则转换结果均为true。

您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:2.10 条件执行
下一篇:2.12 代码缩进
相关文章
图文推荐
排行
热门
最新书评
特别推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站