哪个给定的循环更快?

时间:2018-06-09 13:01:23

标签: javascript for-loop operator-precedence

嗯,今天我去采访了,面试官问了我一个问题,就像这样。

    let a = "Aditya";
    1.for (let i=0; i<a.length; i++)
    2.for(let i=a.length; i>0; i--)
    3.for(let i=0, length=a.length; i<length; i++)

以上哪个for循环运行速度更快1,2,3? 安排它,并给出原因。 我很喜欢(1),所以它可能是更快的,但他告诉我我错了,我试着谷歌找不到任何有用的解决方案。请帮助我。

1 个答案:

答案 0 :(得分:-1)

最好的答案可能是:

你为什么要关心?选择最具可读性的那个。不可读的代码需要更多的时间让人们理解,而快几毫秒的好处并不重要。如果这些小的表演事情很重要,你应该写作汇编。

  

他告诉我第三个是最快的,第二个相当于它,第一个是最慢的。

不是真的。现代浏览器确实优化了所有三个循环,以至于它们实际上以相同的速度运行。