全局Javascript属性 - 内存使用情况

时间:2017-09-13 08:36:12

标签: javascript memory

我正在构建各种d3.js仪表板,这些仪表板经常引用包含以下属性的javascript_properties.js文件:

var all_charts = (function() {

   return {
     width:860,
     height:500,
     from_date:"",
     to_date:"",
     highlight_color:"#00FFFF"
   }

}());

我经常在各种功能中使用这些属性。

我的问题是:

每次使用它时直接调用每个属性是否有任何损害,或者如果要多次调用属性,在每个函数的开头声明局部变量会更有效吗?

举例说明。一个局部变量:

 var width = all_charts.width;

或致电

all_charts.width 

在功能期间根据需要多次。

可能没有什么明显区别?

1 个答案:

答案 0 :(得分:3)

这不是关于内存使用情况,而是关于查找时间。

是的,将属性缓存到局部变量可能会在之后重复使用它时更快,因为JavaScript引擎不必遍历范围链到全局级别以查找all_charts然后查看上width

但是,除非您在同一个函数中使用这些属性数十万次,否则不太可能产生明显的差异。

旁注:all_charts代码中的函数没有意义,你所做的正是这样做的,更间接的是:

var all_charts = {
  width:860,
  height:500,
  from_date:"",
  to_date:"",
  highlight_color:"#00FFFF"
};