break和continue语句用于在循环中精确的控制代码的执行。其中,break语句会立刻退出循环,强制继续循环后面的语句。而continue语句虽然也是立刻退出循环,但是退出循环后会从循环的顶部继续执行。请看下面的例子:
var num=0; for(var i=1;i<10;i++){ if(i%5==0){ break; } num++; } alert(num);//4
这个例子中的for循环会将变量i由1递增至10.在循环体内有一个if语句检查i的值是否可以被5整除(使用求模操作符)。如果是,则执行break语句退出循环。另一方面,变量从0开始,用于记录循环执行的次数。在执行break语句之后,要执行下一行的代码是alert()函数,结果显示4.也就是说,在变量i等于5 的时候,循环总共执行了4次;而break语句的执行,导致了循环num再次递增之前就退出了。如果在这里把break替换为continue的话,则可以看到另一种结果:
var num=0; for(var i=1;i<10;i++){ if(i%5==0){ continue; } num++; } alert(num);//8
例子的结果显示8,也就是说循环总共执行了8次。当变量i等于5的时候,循环会在num再次递增之前退出、但接下来的是下一循环,即i的值等于6的循环。于是,循环又继续执行,直到i等于10时自然结束。而num的最终之所以是8,是因为continue语句导致它少递增了一次。
时间: 2024-10-07 01:47:08