美文网首页
对于循环的优化

对于循环的优化

作者: AAA前端 | 来源:发表于2019-10-15 11:46 被阅读0次
  • 对于循环基本写法如下:
var item = [0, 1, 2, 3, 4, 5]

for (var i = 0; i < item.length; i++) {
  // do something
}

var j = 0;
while (j < item.length) {
  // do something
}

var k = 0;
do {
  // do something
} while (k < item.length)

  • 这种循环每次都会重新查找item.length,这样做很耗时,由于该值在循环运行过程中并没有改变,因此产生了不必要的性能损失; 可以初始获取数组长度,减少查询长度的次数;
var item = [0, 1, 2, 3, 4, 5]

for (var i = 0, len = item.length; i < len; i++) {
  // do something
}

var j = 0,
  count = item.length;
while (j < count) {
  // do something
}

var k = 0,
  num = item.length;
do {
  // do something
} while (k < num)

  • 目前在大多数浏览器中能节省25%的运行时间了。
  • 我们还可以采用颠倒数组顺序来提高循环性能。通常,数组项的顺序与所要执行的任务无关,隐藏从最后一项开始向前处理是个备选方案;
var item = [0, 1, 2, 3, 4, 5]

for (var i = item.length; i--;) {
  // do something
}

var j = item.length;
while (j--) {
  // do something
}

var k = item.length;
do {
  // do something
} while (k--)

  • 现在每个控制条件只是简单地与零比较。控制条件与true比较时,任何非零会自动转换为true,而零值等同于false。实际上,控制条件已经从两次比较减少到一次比较。进一步提高了循环速度。

参考: 高性能 javaScript

相关文章

网友评论

      本文标题:对于循环的优化

      本文链接:https://www.haomeiwen.com/subject/usajmctx.html