break和continue语句对循环中的代码执行提供了更严格的控制。break语句可以立即退出循环,阻止再次反复执行任何代码,而continue语句只是退出当前循环,根据控制表达式还允许继续进行下一次循环。例如:
在上面的代码中,for循环将从1到10迭代变量i。在循环主体中,if语句将(使用取模运算符)检查i的值是否能被5整除。如果能被5整除,将执行break语句,警告显示"4",即在退出循环前执行循环的次数。如果用continue语句代替这个例子中的break语句,结果将不同:
这里,警告将显示"8",即执行循环的次数。可能执行的循环总数为9,不过当i的值为5时,将执行continue语句,会使循环跳过表达式iNum++,返回循环开头。
break语句和continue语句都可以与有标签的语句联合使用,返回代码中的特定位置。通常,当循环内部还有循环时,会这样做,如下面的例子所示:
在这个例子中,标签outermost表示的是第一个for语句。正常情况下,每个for语句执行10次代码块,意味着iNum++正常情况下将被执行100次,在执行完成时,iNum应该等于100。这里的break语句有一个参数,即停止循环后要跳转到的语句的标签。这样break语句不止能跳出内部for语句(即使用变量j的语句),还能跳出外部for语句(即使用变量i的语句)。因此,iNum最后的值是55,因为当i和j的值都等于5时,循环将终止。可以以同样的方式使用continue语句:
在这个例子中,continue语句会迫使循环继续,不止是内部循环,外部循环也如此。当j等于5时出现这种情况,意味着内部循环将减少5次迭代,致使iNum的值为95。
可以看到,与break和continue联合使用的有标签语句的功能非常强大,不过过度使用它们会给调试代码带来麻烦。要确保使用的标签具有说明性,不要嵌套太多层循环。
posted on 2008-01-18 19:51
Ke 阅读(1684)
评论(0) 编辑 收藏 所属分类:
javascript