Javascript 使用try finally while来模拟for循环

Javascript权威指南5.6章节上面说因为continue语句在for语句跟while语句中的行为不一样,所以必须使用try、finally才能将while语句模拟的跟for语句一样
下面是我写的,但是在chrome devTool中运行没有结果?!不清楚为什么,求指点!

var simulate_for = function() {
    var i = 0;
    while ( i < 10 ) {
        try {
            if (i == 5) continue;
            console.log(i);
        }
        finally {
            i++;
        }
    }
};

simulate_for();
阅读 4.5k
3 个回答

有结果啊。。。。

0 (program):7
1 (program):7
2 (program):7 
3 (program):7 
4 (program):7 
6 (program):7 
7 (program):7 
8 (program):7 
9 (program):7

特地给你粘下来了~

i等于5的时候被continue了

有结果啊,输出了 0 到 9,除了 5

for(int i = 0; i < 10; i++)中,就算continuei也会加1。但在while中,i++一般在后面,continue会跳过i++,所以会有不一样的表现。题主加上finally,while的表现就和for一样了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题