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();

try-catch for循环 while JavaScript

任性de私房猫 10 years, 1 month ago

有结果啊。。。。


 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了

星D在り処 answered 10 years, 1 month ago

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

熊貓要打飛機 answered 10 years, 1 month ago

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

NHK牌丸子酱 answered 10 years, 1 month ago

Your Answer