是while循环和if语句好主意的组合

时间:2014-09-16 22:50:16

标签: javascript while-loop

我正在编写简单的JS代码,它应该打印数字3的指数,限制为1000.我决定使用while loop,如果我在{{1}中使用if语句,我很好奇它会减慢循环的执行速度吗?

while

当然,我并不是指代码的这个特定部分,因为这很简单。 或许我应该使用以下代码:

var print=0,i=0;
while(check<10000)
{
    print=Math.pow(3,i);
    if(print<1000)
      console.log(print);
    else
      break;
    i++;
}

在这种情况下,正在使用3个变量。哪种方式更好/更快?提前谢谢。

3 个答案:

答案 0 :(得分:2)

具有中断条件的循环可以正常工作,您不必担心性能损失;但是,你可以通过使用无限循环来减少一个条件。

在这种特殊情况下,您可以展开一次迭代并使循环条件更好:

for (var i = 1, print = 0; print < 1000; ++i) {
    print = Math.pow(3,i);
    console.log(print);
}

答案 1 :(得分:1)

for循环怎么样:

for (var j=0,k=0;j<10000;j=Math.pow(3,k),k++) console.log(j);

http://jsfiddle.net/blaird/gmjjr1q7/

答案 2 :(得分:1)

Jack在for循环方面是正确的,但更具体地说,我不会关注if语句,因为它不会影响性能到任何明显的程度。

尽量不要过分关注常量函数的数量(if语句,变量赋值等),并专注于限制循环使用。

有关更具体的研究Big O Notation