2017-09-13 63 views
0

我建立各种d3.js仪表盘频繁指javascript_properties.js文件,其中包括性能,如:全局JavaScript属性 - 内存使用

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

使您的代码可读性,不用担心它的效果是不存在的,与其他逻辑的成本有关。 – Nit

回答

3

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

是,缓存属性设置为一个局部变量可以使其更快使用时反复之后,随着JavaScript引擎没有遍历作用域链到全球水平上寻找all_charts,然后查找width它。

,它除非你在同一个函数中使用这些属性数十万次也未必能做出明显差异。


边注:有没有点在all_charts代码的功能,你有什么不正是这样做,只是更间接地:

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

非常感谢你们俩。 – Bmil