我正在编写简单的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个变量。哪种方式更好/更快?提前谢谢。
答案 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);
答案 2 :(得分:1)
Jack在for循环方面是正确的,但更具体地说,我不会关注if语句,因为它不会影响性能到任何明显的程度。
尽量不要过分关注常量函数的数量(if语句,变量赋值等),并专注于限制循环使用。
有关更具体的研究Big O Notation。