编程语言
首页 > 编程语言> > javascript – 提取功能是否会导致性能损失?

javascript – 提取功能是否会导致性能损失?

作者:互联网

我正在迭代一个大型数组(10 ^ 5项)并对每个项执行操作.

for (var row in rows) {
  switch (operator) {
    case "op1":
      row += 1;
      break;
    case "op2":
      ...
    case "opN":
      break;
  }
}

为了可测试性和可读性,我想将内部switch语句提取到它自己的函数中,所以循环看起来就像

for (var row in rows) {
  this.updateRow(row, operator);
}

调用函数10 ^ 5次的开销是否会导致明显的性能损失?

解决方法:

内联函数总是比定义函数快一点.这是因为在运行时不需要从堆栈中推送和弹出诸如参数和返回之类的内容.通常这对于较新的机器来说并不是什么问题,但是通过10 ^ 5个函数调用,您可以看到一点性能损失.

我可能会保持内联.真的不会伤害太多,每一点优化都有帮助!

标签:optimization,javascript,readability
来源: https://codeday.me/bug/20190630/1332798.html