我有这段代码,为了这个问题我简化了:
//var a is generated once at runtime
//from an array of strings
//and an array of functions
var a = [
"Start ",
function(){return "middle ";}, //returns dynamic data
"end"
],
c = "";
//this for-loop represents a call
for(var i = 0; i < a.length; i++){
var d = typeof a[i] === 'function' ? a[i]() : a[i];
c = c.concat(d);
}
console.log(c);
现在第一个问题:我的调用(for 循环)是否比说...
var call = a[0]+a[1]()+a[2];
...在运行时以某种方式创建了调用?
条件问题:如果后一种调用是更优的方法,那么我将如何生成这个最优的调用变量/对象/函数?
最后一个条件问题:如果您无法弄清楚我在最后一个问题中要问的内容,请忽略它。相反,请告诉我我的代码是否能够进一步优化以及如何优化?!
编辑:我继续通过运行 24M 调用对我的代码进行基准测试,调用变量比我的估计快了大约 10%。