JavaScript是在浏览器中通过优化而解释为字节码,还是仅从脚本行执行?
例如,我有两种方法:
// function with clear defining local variables for each calculation
function moreReadable(p1, p2, p3) {
var a = p1 + p2;
var resA = someFunction(a);
// some actions with resA
var b = p2 + p3;
var resB = someFunction(b);
// some actions with resB
var c = p1 + p3;
var resC = someFunction(c);
// some actions with resA
}
// function which reuses first declared variable, for all calculations
function optimized(p1, p2, p3){
var a = p1 + p2;
a = someFunction(a);
// some actions with a
a = p2 + p3;
a = someFunction(a);
// some actions with a
a = p1 + p3;
a = someFunction(a);
// some actions with a
}
第二种方法会在性能或内存使用方面给我带来优势吗?显然,它使用较少的局部变量。但是有进行优化的感觉吗?Chrome浏览器会优化两者以使用相同的执行代码吗?
建议您阅读以下有关Chrome使用的V8 Javascript引擎的文章:
当然,引擎的优化正在发生,但这并不意味着它会优化您的代码。
这是一篇相当大的文章/维基,但是它将通过理解引擎来帮助您更多地了解JS如何将其解释为字节码。
现在关于您的代码示例,您只是在那里解决可读性问题,而性能不会得到提高。即使很简单,JS也是一种非常奇怪的语言。这意味着一段时间少的代码会更好,而有些时候则不是。
所有这些都在代码复杂性和体系结构的末尾。
即使根据您的代码库/项目,您也应该测量性能并对其进行调整以获得更好的结果;)
希望能帮助到你。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句