suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Javascript – Problem mit der Effizienz der Schleife

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

Ist

besser als

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

Ist es effizient?

黄舟黄舟2747 Tage vor594

Antworte allen(3)Ich werde antworten

  • PHPz

    PHPz2017-05-19 10:12:19

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

    Antwort
    0
  • 怪我咯

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

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

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

    第一种效率更高。

    Antwort
    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);

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

    Antwort
    0
  • StornierenAntwort