JavaScript中for循环和while循环使用continue的区别

示例:求1~9中除了5之外所有数相加之和。
使用while循环中用continue的代码:

var i=1,n=0; while(i<10){ if(i==5){ i++; continue; } n=n+i; i++; } document.write(n);

使用for循环中使用continue的代码:
var n=0; for(var i=1; i<10; i++){ if(i==5){ continue; } else{ n=n+i; } } document.write(n);

由于for循环的增量计算i++在for()内,是上次循环结束后才执行i++,所以for循环中这样使用continue是完全没有问题的。当然,上述代码中在if(i==5){}中花括号内不写任何代码,for和while循环这段代码也是正确的,空的花括号{}不执行任何操作。
错误代码:
var i=1,n=0; while(i<10){ if(i==5){ continue; } n=n+i; i++; } document.write(n);

这个代码中while循环语句会在continue处会跳出本次循环,不再执行接下去的代码语句,变量就没有进行增量操作,导致陷入死循环。这简直就是while循环中使用continue陷入的巨坑。
【JavaScript中for循环和while循环使用continue的区别】

    推荐阅读