是while循环和if语句的组合好主意
Is the combination of while loop and if statement good idea
我正在写一个简单的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。
相关文章:
- 将脚本缓存到本地存储的basket.js概念仍然是一个好主意吗
- 使用每500ms运行一次的jquery函数是个好主意吗
- 在debounce函数中使用requestAnimationFrame是个好主意吗
- 通过进程使用 NodeJS 全局事件是个好主意吗?
- 将我所有的.js分组到一个文件中-好主意
- 与AMD共享库是个好主意吗
- 模块是打字的好主意吗?或者它们只是增加了复杂性
- 在Coffeescription中使用一个自调用函数来隐藏其余代码中的函数和变量,这是一个好主意吗
- 开发两个单独的节点应用程序来提供 Web 服务和使用 Web 服务以在浏览器上呈现它是一个好主意吗?
- Meteor:为集合服务器端创建筛选器,并将其存储在本地集合中.好主意
- 修改 yii.activeForm 是个好主意吗.js如果不是,另一种方法是什么
- Javascript中的异步类是一个好主意吗?
- 将 with-语句与上下文一起使用是个好主意吗?
- 在 JavaScript 中将小数字合并为一个是个好主意吗?(作为存储优化解决方案)
- 在第一次触摸启动事件时禁用所有点击事件是个好主意吗?
- 我可以定义一个函数来处理在 2 个输入标签上定义的“更改键控”事件吗?这是个好主意吗
- 使用经典继承,在 JavaScript 中使用“类级”/成员变量是一个好主意还是坏主意
- Cron Job是执行此任务的好主意吗?PHP
- 在JS模板中添加逻辑?好主意还是不行
- 是while循环和if语句的组合好主意