Какой из них более эффективен?Какая из циклов более эффективна в javascript?
// < 11
for(var i = 0; i < 11; i++){ ... }
или
// <= 10
for(var i = 0; i <= 10; i++){ ... }
Я не знаю точно, как для функции работает, но я предполагаю, что < 11
более effiecient, потому что в <= 10
, кажется, что в каждом из 10
сравнений имеет слишком проверить если он тоже равен, а не меньше, поэтому он должен сделать 2 сравнения вместо одного.
Я прав, или как это работает?
[jsPerf.com] (http://jsperf.com), выглядит как первый [был пренебрежимо быстрее] (http://jsperf.com/loopcompare-15272284) на FF18, но действительно ли это имеет значение? – Chad
Я вижу, что ты нашел бутылочную горловину своего приложения ... поздравляю. BTW, 'i ++' ?! это может быть намного быстрее, используя 'i = i + 1'! проверьте это. – gdoron
компилятор очень умный, он всегда выполняет одно сравнение как i <11. код i <= 10 преобразуется в i <11. –