为了性能更好,两个函数在同一个 setInterval() 或两个不同的 setInterval 中? - Javascript

For the performance is better two functions in the same setInterval() or two different setInterval ? - Javascript

对于相同 setInterval() 中的两个函数或不同 setInterval() 中的每个函数的性能更好?

一个

setInterval(function(){ 
 one();
 two(); 
}, 60000);

function one(){
 //code
}

function two(){
 //code
}

B

setInterval(function(){ 
 one();     
}, 60000);

setInterval(function(){      
 two(); 
}, 60000);

function one(){
 //code
}

function two(){
 //code
}

你有什么建议? 非常感谢...

For the performance is better two functions in the same setInterval() or each function in different setInterval() ?

关于性能的观点很少。

从这两个函数的性能来看,只调用一次setInterval()更快,调用函数one()然后two() 来自匿名函数的上下文,而不是来自计时事件上下文。还值得一提的是,这两个函数可能 inlined/merged 与 JS 编译器或 JS JIT 一起使用。

用户体验的角度来看,最好将长函数拆分为两个,以便在这些函数之间处理用户界面事件。换句话说:

  1. 处理用户事件(例如,鼠标点击)。
  2. 调用长函数one().
  3. 再次处理用户事件。
  4. 调用长函数two().
  5. 处理用户事件。

在用户体验方面将比:

好得多
  1. 处理用户事件。
  2. 调用巨大的组合函数 one()two(),浏览器挂起一段时间。
  3. 处理用户事件。

还有最后一点。从程序的整体性能来看,完全没有关系,因为这些调用之间的间隔很长,所以对整体性能没有任何影响。