首页  >  问答  >  正文

javascript - for循环效率问题

for (var i = 0, len = source.length; i < len; i++)

是否比

for (var i = 0; i < source.length; i++)

效率好?

黄舟黄舟2734 天前579

全部回复(3)我来回复

  • PHPz

    PHPz2017-05-19 10:12:19

    第一种写法,避免了每次计算length,效率会比第二种写法高。(循环次数不多,其实两者差异不大,但建议用第一种写法)

    回复
    0
  • 怪我咯

    怪我咯2017-05-19 10:12:19

    第二种每次循环都会去获取一次source的长度,

    而第一种只求一次source长度的值并缓存到变量里,以后每次都从变量里取值,

    第一种效率更高。

    回复
    0
  • PHP中文网

    PHP中文网2017-05-19 10:12:19

    实践是检验认识的唯一标准

    var a = new Array(100).fill(0);

    var a = new Array(1000).fill(0);

    var a = new Array(10000).fill(0);

    从结果可以看到,第一种写法性能上稍微好点,但是第一种会额外消耗内存,虽然前端内存不要钱,对于我个人来讲,两种都没啥差别

    回复
    0
  • 取消回复