Javascript 'var variable' in loop vs out out.性能上的任何差异
Javascript 'var variable' inside loop vs outside. Any difference in performence
for(var i=0;i<lines.length;i++) {
var line = lines[i];
与
var line;
for(var i=0;i<lines.length;i++) {
line = lines[i];
这样做吗,这两个代码段具有不同的性能。如果是,请解释原因。
我对此进行了基准测试,发现性能几乎没有差异。
如果要重新创建它:
var lines = new Array(#BIG_NUMBER#);
lines.fill(#BIG_OBJECT#);
var a = (new Date()).getTime();
for(var i=0;i<lines.length;i++) {
var line = lines[i]; }
var b = (new Date()).getTime();
var line;
for(var i=0;i<lines.length;i++) {
line = lines[i]; }
var c = (new Date()).getTime();
console.log("a:" + (b-a) + " b:" + (c-b));
这是有道理的,因为几乎没有区别,这两种情况都会创建一个将被存储的本地对象,并将多次重新分配它。
在这两种情况下,您的代码的工作方式会有所不同。
在第一个中line
是一个全局变量,可以在 for 循环之外访问,而在第二个循环中并非如此。
所以我认为性能比较在这里没有任何意义!
即便如此,一次又一次地声明变量也是不必要的,尽管我认为这不是一个复杂的操作。但是,是的,重复声明它会降低性能。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 提高JQuery的性能
- 使用正则表达式评估电子邮件地址时出现性能问题
- React:按键的性能提升
- 在Three.js中导出网格会提高性能吗
- delete在Object上效率低下,但在DOM Element's的数据属性,与null out相比
- 在javascript中搜索项目列表的性能
- 为什么在许多浏览器中drawImage()的性能略好于createPattern()
- JavaScript数组优化以提高性能
- React+Redux性能优化与组件ShouldUpdate
- 在循环中附加事件处理程序时出现浏览器性能问题
- JavaScript-===vs===运算符性能
- 超时功能的性能
- Pg承诺性能提升:在冲突中
- immutable.js与嵌套映射/对象的比较/相等性能
- NodeJ中的注释会影响性能吗
- 如果条件为循环-性能差异
- <脚本类型=“;模块“>负载性能
- 我应该如何将响应数据保存在对象(json)中以获得更好的操作和性能
- Javascript 'var variable' in loop vs out out.性能上的任何差异