Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 任务处理成本与条件_Javascript - Fatal编程技术网

Javascript 任务处理成本与条件

Javascript 任务处理成本与条件,javascript,Javascript,在代码审查之后,出现了以下问题 function a (options) { if ( !options ) options = {}; // other code dealing with default options } function b (options) { options = options || {}; // other code dealing with default options } a()或b()哪个更经济高效? jsPerf说b()是最快的。 谢谢

在代码审查之后,出现了以下问题

function a (options) {
  if ( !options ) options = {};
  // other code dealing with default options
}
function b (options) {
  options = options || {};
  // other code dealing with default options
}
a()或b()哪个更经济高效?

jsPerf说b()是最快的。
谢谢,我会回到我的咖啡

运行jsPerf测试并查看。请定义成本和测量“成本”的精确方法。请注意,这将是微观优化,如果两者有差异的话。在需要之前不要开始优化,始终先使用可读性更强的版本。这种差异在你的应用程序中很可能无关紧要。它是在讨论了代码标准风格之后提出的。“可读性”是关键,没有什么比得上“语速”。它可能在不同的实现(浏览器)中运行不同。如果您选择一种方式,下周另一种方式可能会更快(在新的浏览器版本中)。对于像JS这样的高级语言,没有“微优化”。我建议你把重点放在算法复杂度上。这可能与浏览器不同。你在每次测试中都会一次又一次地“创建”函数,而不是仅仅调用函数。