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

Is the combination of while loop and if statement good idea

本文关键字:组合 好主意 语句 if while 循环      更新时间:2023-09-26

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

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

当然,我不是指代码的这一特定部分,因为这非常简单。或者我应该使用以下代码:

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

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

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

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

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

for循环如何:

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

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

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

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

有关更多细节,请研究Big O Notation。