if语句惟一的不足是没法完成重复性的操做。在if语句里,包含在花括号里的代码块只能执行一次。若是须要屡次执行同一个代码块,就必须使用循环语句。数组
while循环与if语句很是类似,它们的语法几乎彻底同样:测试
while (condition) { statements; }
while循环与if语句惟一的区别是:只要给定条件的求值结果是true,包含在花括号里的代码就将反复地执行下去。下面是一个while循环的例子:code
var count = 1; while (count < 11) { alert (count); count++; }
上面这段代码中,首先,建立数值变量count并赋值为1,而后,以count<11————意思是“只要变量count的值小于11,就重复执行这个循环”————为条件建立一个while循环。在while循环的内部,用“++”操做符对变量count的值执行加1操做,而这以操做将重复执行10次。rem
相似于if语句的状况,while循环的花括号部分所包含的语句有可能不被执行,由于对循环控制条件的求值发生在每次循环开始以前,因此若是循环控制条件的首次求值结果是false,那些代码将以此也不会执行。it
有时,咱们但愿那些包含在循环语句内部的代码至少执行以此。这时,do循环是咱们的最佳选择。下面是do循环的语法:io
do { statements; } while (condition);
与刚才的while循环有个显而易见的区别:对循环控制条件的求值发生在每次循环结束以后。所以,即便循环控制条件的首次求值结果是false,包含在花括号里的语句也至少会被执行一次。for循环
var count = 1; do { alert (count); count++; } while (count < 11);
这段代码的执行结果与while循环彻底同样:alert消息将闪现10次;在循环结束后,变量count的值将是11.test
看下面这个变体:变量
var count = 1; do { alert (count); count++; } while (count < 1)
在上面这个do循环里,循环控制条件的求值结果永远不为true:变量count的初始值是1,因此它在这里永远不会小于1。但是,由于do循环的循环控制条件出如今花括号部分以后,因此包含在这个do循环内部的代码仍是执行了一次。也就是说,仍将看到一条alert消息。这些语句执行完毕后,变量count的值将是2,尽管循环控制条件的求值结果是false。循环
用for循环来重复执行一些代码也很方便,它相似于while循环。事实上,for循环只是while循环的一种变体。若是仔细观察while循环的例子,就会发现它们均可以改写为以下所示的样子:
initialize; while (condition) { statements; increment; }
而for循环不过是进一步改写为以下所示的紧凑形式而已:
for (initial condition; test condition; alter conidtion) { statements; }
用for循环来重复执行一些代码的好处是循环控制结构更加清晰。与循环有关的全部内容都包含在for语句的圆括号部分。
能够将do...while循环里的例子改写为以下所示的for循环:
for (var count = 1; count < 11; count++ ) { alert (count); }
与循环有关的全部内容都包含在for语句的圆括号里。当把一些代码放在花括号中间的时候,清楚地知道哪些代码将会被执行10次。
for循环最多见的用途之一是对某个数组里的全体元素进行遍历处理。这每每须要用到数组的array.length属性,这个属性能够告诉咱们在给定数组里的元素的个数。特别要注意的是数组下标是从0而不是1开始。
下面这个例子中,数组有4个元素。count变量对于数组中每一个元素都是从0开始按1递增。数到4时,测试条件失败,循环终止,3是从数组中检索到的最后一个下标。
var beatles = Array("John","Paul","George","Ringo"); for (var count = 0; count < beatles.length; count++ ) { alert(beatles[count]); }
运行这段代码,将看到4条alert消息,它们分别对应着Beatles乐队的四位成员。