循环语句

循环语句:

所谓循环语句是指满足条件的情况下反复执行一个操作。

  1. while 语句是一种先判断,后运行的循环语句。也就是说,必须满足条件了之后,方可运行循环体。
  2. do while语句:
    do…while 语句是一种先运行,后判断的循环语句。也就是说,不管条件是否满足,至少先运行一次循环体。
  3. for语句:
    for 语句也是一种先判断,后运行的循环语句。但它具有在执行循环之前初始变量和定义循环后要执行代码的能力

while语句

while语句是基本的循环语句,也就是条件判断语句。其语法格式如下:

while  (expression) {
          statement
}

当条件表达式为expression的值为true时,执行大括号{}中的语句,当执行完大括号{}中的语句后,再次检查条件表达式的值,如果仍是true,则再次执行大括号{}中的语句,如此反复执行,直到条件表达式的值为false,结束循环,继续执行while循环后面的代码。
使用while语句时,必须先声明循环变量并在循环体中指定循环变量的步幅,否则while语句将成为一个死循环。
在下面的程序中将出现一个死循环,代码如下:

var i=3;
while  (i<5){
         alert("坚持");
         }

在上述代码中,循环体中没有指定循环变量的步幅,即始终没有改变i的值,所以i<5将永远返回true,所以循环永不结束。程序的正确代码如下:

var i=3;
while  (i<5){
         alert("坚持");
         i++;
         }

do…while语句

do…while循环语句和while循环语句非常相似,只是do…while循环语句在循环底部检测循环表达式,而不是在中的顶部进行检测。因此应用do…while循环语句时该语句的循环体至少被循环一次。其语法格式如下:

do{
    statement
    }while (expression);

下面的实例中分别应用while语句和do…while语句输出字符串中的内容,以比较二者的不同,代码如下:

<script>
var m=8;
var n=9;
while(m<=5){
          document.write("这是第“+m+”行");
          m++;
}
do{
     document.write("这是第"+n+"行");
     n++;
   }while(n<=5);
   </script>
//运行结果:
这是第九行
do....while语句结尾处的while语句括号后面有一个分号" ; ",在书写过程中一定不能遗漏,否则
javascript会认为循环语句是一个空语句,后面大括号{}中的代码一次也不会执行,并且程序陷入死循环。

for语句

for语句是javascript语言中应用比较广泛的循环语句。通常for语句使用一个变量作为计数器来执行循环的次数,整个变量就称为循环变量。
其语法格式如下:

for (语句 1; 语句 2; 语句 3)
{
    被执行的代码块
}

语句 1 (代码块)开始前执行

语句 2 定义运行循环(代码块)的条件

语句 3 在循环(代码块)已被执行之后执行

  • 语句1
    通常我们会使用语句 1 初始化循环中所用的变量 (var i=0)。
    语句 1 是可选的,也就是说不使用语句 1 也可以。
    您可以在语句 1 中初始化任意(或者多个)值:
    实例:
for (var i=0,len=cars.length; i<len; i++)
{ 
    document.write(cars[i] + "<br>");
}
  • 语句2
    通常语句 2 用于评估初始变量的条件。
    语句 2 同样是可选的。
    如果语句 2 返回 true,则循环再次开始,如果返回 false,则循环将结束。
如果您省略了语句 2,那么必须在循环内提供 break。否则循环就无法停下来。这样有可能令浏览器崩溃。
  • 语句3
    通常语句 3 会增加初始变量的值。
    语句 3 也是可选的。
    语句 3 有多种用法。增量可以是负数 (i–),或者更大 (i=i+15)。
    语句 3 也可以省略(比如当循环内部有相应的代码时):
    实例:
var i=0,len=cars.length;
for (; i<len; )
{ 
    document.write(cars[i] + "<br>");
    i++;
}

参数

  1. Initialize: 是一个循环变量,该变量可以在for语句声明,也可以在for语句中声明。
  2. Test: 是一个基于循环变量的条件表达式,条件满足就进入到循环体({}中的内容),循环体中的代码执行结束后返回这里重新进行判断,直到条件不成立时结束循环。
  3. Increment: 是一个基于循环变量的操作,在每次循环体中的代码执行完毕,即将进行下一轮条件判断前执行,increment操作和test条件语句共同决定{}中代码的循环次数。
for语句可以使用break语句来终止循环语句的执行。break语句默认情况下是终止当前的循环语句,
而当break语句与Label语句同时就可以终止由Label语句标注的循环语句。

在下面的for语句中,同时应用了break语句和Label语句。
程序代码如下:

look;               //创建一个label语句
for  (var m=0;m<11;m++){                //创建一个for语句
     fpr  (var n=0;n<=5;n++){              //创建一个for语句
         if(n>3) {                                   //判断如果n大于3,则执行下面的内容
              break  look;              //同时应用break语句和label语句"look"语终止整个循环语句
              }
          }
     }         

上述代码中的look就是label语句,它还可以使用其他任意的名称,其作用就是标注任意一个语句,本例标注了循环语句for(var m=0;m<11;m++)…,而且与break语句同时使用,结果导致脚本中没有任何内容输出。

for…in语句

for…in循环语句和for循环语句十分相似,for…in语句用来便利对象的每一个对象的每一个属性,每次都将属性名作为字符串保存在变量里。
其语法格式如下:

for   (variable  in  object)  {
        ....statement
        }

在该语法中,variable是一个变量名,声明一个变量的var 语句、数组的某个元素或者对象的一个属性(例如,它应该是一个适用于赋值表达式左边的值);object是一个对象名,或者是计算结果的表达式。statement通常是一个原始语句或者语句块,由它构成循环的主体。

下面应用for…in循环语句输出对象中的属性名和值。首先创建一个对象,并指定对象的属性,然后应用for…in循环语句输出对象的所有属性和值。
程序代码如下:

var  objectes={user:"xxx",age:23,QQ:"1838**",e_mail:"ppp*** @sina.com"
for  (var example  in objectes)  {                              //循环语句
                    document.write("属性: "+example"+"+object[example]+"<br>")
             }

//运行结果:
属性:user=xxx
属性:age=23
属性:QQ=1838**
属性:  e_mail=ppp***@sina.com     

应用for…in循环语句可以为对象中的每个属性执行一个语句的集合。
可以对javascript中的任何对象应用for…in循环语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值