Javascript Performance: While vs For Loops

后端 未结 5 1748
旧巷少年郎
旧巷少年郎 2020-12-04 14:29

The other day during a tech interview, one of the question asked was \"how can you optimize Javascript code\"?

To my own surprise, he told me that while loops were

5条回答
  •  再見小時候
    2020-12-04 15:15

    You should have countered that a negative while loop would be even faster! See: JavaScript loop performance - Why is to decrement the iterator toward 0 faster than incrementing.

    In while versus for, these two sources document the speed phenomenon pretty well by running various loops in different browsers and comparing the results in milliseconds: https://blogs.oracle.com/greimer/entry/best_way_to_code_a and: http://www.stoimen.com/blog/2012/01/24/javascript-performance-for-vs-while/.

    Conceptually, a for loop is basically a packaged while loop that is specifically geared towards incrementing or decrementing (progressing over the logic according to some order or some length). For example,

    for (let k = 0; ++k; k < 20) {…}
    

    can be sped up by making it a negative while loop:

    var k = 20;
    while (--k) {…}
    

    and as you can see from the measurements in the links above, the time saved really does add up for very large numbers.

提交回复
热议问题