while循环

while 语句与 if 语句相似,都有条件来控制语句(或语句块)的执行,其语言结构基本相同:
while(conditions){
    statements;
}

while 语句与 if 语句的不同之处在于:在if条件假设语句中,若逻辑条件表达式为真,则运行statements语句(或语句块),且仅运行一次;while 循环语句则是在逻辑条件表达式为真的情况下,反复执行循环体内包含的语句(或语句块)。

注意:while语句的循环变量的赋值语句在循环体前,循环变量更新则放在循环体内;for循环语句的循环变量赋值和更新语句都在for后面的小括号中,在编程中应注意二者的区别。

【例3-5】用while()循环来计算1+2+3 ... +98+99+100的值:

代码如下 复制代码
<html>
<head>
<title>计算1+2+3 ... +98+99+100的值</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
var total=0;
var i=1;
while(i<=100){
    total+=i;
    i++;
}
alert(total);
</script>
</body>
</html>

在某些情况下,while循环大括号内的statements语句(或语句块)可能一次也不被执行,因为对逻辑条件表达式的运算在执行statements语句(或语句块)之前。若逻辑条件表达式运算结果为假,则程序直接跳过循环而一次也不执行statements语句(或语句块)。

do...while循环

若希望至少执行一次statements语句(或语句块),可改用do…while语句,其基本语法结构如下:

do { www.111cn.net
     statements;
}while(condition);

【例3-6】用do-while()循环来计算1+2+3 ... +98+99+100的值:

代码如下 复制代码

<html>
<head>
<title>计算1+2+3 ... +98+99+100的值</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
var total=0;
var i=1;
do{
    total+=i;
    i++;
}while(i<=100);
alert(total);
</script>
</body>

</html>

for、while、do…while三种循环语句具有基本相同的功能,在实际编程过程中,应根据实际需要和本着简单易懂的原则来选择循环语句。

do while实例

代码如下 复制代码
<html>
<head>
<title> www.111cn.net 一个使用到do...while循环的Javascript示例</title>
</head>
<body>
<p>
<script type="text/javascript">
i = 0
do
{
document.write( i + "<br>")
i++
}
while (i <= 5)
</script>

数字是 0
数字是 1
数字是 2
数字是 3
数字是 4
数字是 5
解释:
i 等于 0。
循环首先会运行。
每循环一次,i 就会累加 1。
当 i 小于或等于 5 时,循环会继续运行。
javascrpt while

代码如下 复制代码
 
<script type="text/javascript">
i = 0
while (i <= 5)
{
document.write("数字是 " + i)
document.write("<br>")
i++
}
</script>

数字是 0
数字是 1
数字是 2
数字是 3
数字是 4
数字是 5
解释:
i 等于 0。

当 i 小于或等于 5 时,循环将继续运行。
循环每运行一次,i 会累加 1。
Javascript示例代码解释:这个Javascript示例用到了do...while循环语句。
循环语句允许重复执行一行或数行代码,do后面跟的是重复执行的代码,while后面跟的是终止循环的条件。这个Javascript示例中,设一个变量为i,i初始值为0,i++表示每次重复执行后i的值就加1,终止循环条件为while (i <= 5),也就是说,一旦i的值大于5,就终止循环。该示例中,重复循环的语句是while循环里面的document.write语句。

从上面的实例我们可以看出来关于js while ,do while 它们之间的区别。

更多详细内容请查看:http://www.111cn.net/wy/js-ajax/54892.htm

Javascript中while和do-while循环用法详解的更多相关文章

  1. CSS中伪类及伪元素用法详解

    CSS中伪类及伪元素用法详解   伪类的分类及作用: 注:该表引自W3School教程 伪元素的分类及作用: 接下来让博主通过一些生动的实例(之前的作业或小作品)来说明几种常用伪类的用法和效果,其他的 ...

  2. Python中生成器和yield语句的用法详解

    Python中生成器和yield语句的用法详解 在开始课程之前,我要求学生们填写一份调查表,这个调查表反映了它们对Python中一些概念的理解情况.一些话题("if/else控制流" ...

  3. SVN组成中trunk,branches and tags功能用法详解

    SVN组成中trunk,branches and tags功能用法详解  我相信初学开发在SVN作为版本管理时,都估计没可能考虑到如何灵活的运用SVN来管理开发代码的版本,下面我就摘录一篇文章来简单说 ...

  4. javascript中的Base64.UTF8编码与解码详解

    javascript中的Base64.UTF8编码与解码详解 本文给大家介绍的是javascript中的Base64.UTF8编码与解码的函数源码分享以及使用范例,十分实用,推荐给小伙伴们,希望大家能 ...

  5. javascript中的字符串编码、字符串方法详解

    js中的字符串是一种类数组,采用UTF-16编码的Unicode字符集,意味字符串的每个字符可用下标方式获取,而每个字符串在内存中都是一个16位值组成的序列.js对字符串的各项操作均是在对16位值进行 ...

  6. javascript中的apply,call,bind详解

    apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(context)而存在的,换句话说,就是为了改变函数体内部 this 的指向. Jav ...

  7. JavaScript中的Function(函数)对象详解

    JavaScript中的Function对象是函数,函数的用途分为3类: 作为普通逻辑代码容器: 作为对象方法: 作为构造函数. 1.作为普通逻辑代码容器 function multiply(x, y ...

  8. Javascript中Function,Object,Prototypes,__proto__等概念详解

    http://anykoro.sinaapp.com/2012/01/31/javascript%E4%B8%ADfunctionobjectprototypes__proto__%E7%AD%89% ...

  9. GOF提出的23种设计模式是哪些 设计模式有创建形、行为形、结构形三种类别 常用的Javascript中常用设计模式的其中17种 详解设计模式六大原则

    20151218mark 延伸扩展: -设计模式在很多语言PHP.JAVA.C#.C++.JS等都有各自的使用,但原理是相同的,比如JS常用的Javascript设计模式 -详解设计模式六大原则 设计 ...

随机推荐

  1. 【MyLocations】标记位置App开发体会

    实现功能: 1.能通过Cora Location获取地址信息 2.用户获取地址信息后能编辑相关信息 3.使用Core Data保存数据 4.使用MapKit,在Map上显示标记的位置,并可以编辑位置信 ...

  2. BZOJ 2120: 数颜色 分块

    2120: 数颜色 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php? ...

  3. delphi 08 HTML组件

    ///HTML组件///后面的字符串为这个控件的ID号///直线          Line         (WebBrowser1.Document as IHTMLDocument2).exec ...

  4. Oracle非重要文件恢复,redo、暂时文件、索引文件、password文件

    增量备份的应用在recovery阶段.不再restore阶段 了解数据库设置表: SQL>desc database_properties  Name                       ...

  5. JAVA的StringBuffer类

    StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...

  6. Elasticsearch是一个分布式可扩展的实时搜索和分析引擎,elasticsearch安装配置及中文分词

    http://fuxiaopang.gitbooks.io/learnelasticsearch/content/  (中文) 在Elasticsearch中,文档术语一种类型(type),各种各样的 ...

  7. mybatis0209 二级缓存

    .1二级缓存 1.1.1原理 mybatis和spring整合后一级缓存就没有了,sqlSession在不关闭的前提下2次查询就会从缓存中取,一级缓存缓存在sqlSession对象里面,当多用户查询的 ...

  8. 整型数组与vector对象之间的相互初始化

    #include<iostream> #include<vector> #include<string> using namespace std; int main ...

  9. Word2010 清除样式

    使用场景         有时候我们在网页上面粘贴一些精华文章或者从去整理别人已经完成的word的时候,会发现它自带的格式,可能并不是我们所理想的格式,所以此时就不得不去重新编辑其格式,但是word里 ...

  10. SparkGraphXTest.scala

    /** * Created by root on 9/8/15. */ import org.apache.spark._ import org.apache.spark.graphx._ impor ...