我正在构建各种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
在功能期间根据需要多次。
可能没有什么明显区别?
答案 0 :(得分:3)
这不是关于内存使用情况,而是关于查找时间。
是的,将属性缓存到局部变量可能会在之后重复使用它时更快,因为JavaScript引擎不必遍历范围链到全局级别以查找all_charts
然后查看上width
。
但是,除非您在同一个函数中使用这些属性数十万次,否则不太可能产生明显的差异。
旁注:all_charts
代码中的函数没有意义,你所做的正是这样做的,更间接的是:
var all_charts = {
width:860,
height:500,
from_date:"",
to_date:"",
highlight_color:"#00FFFF"
};