javascript中数据访问性能优化简析

我们一般写代码都会考虑代码的可读性、可扩展性及重要的是浏览器的解析。减少代码数量提高代码性能加载速度,是我们每个coder所追求的。在javascript中,我们有时必须考虑的是如何确定数据的存储位置,,以获取最佳的读写效率,数据存储的位置,关系到代码执行过程中数据被检索的速度,数据的存储位置在很大程度会影响其读取速度。

javascript中有4种基本的数据存取位置:直接量、变量、数组元素、对象才成员 每种数据存储的位置都有不同的读写消耗。一般的情况下,从一个直接量和局部变量中存取数据的性能差异很小,微不足道。但访问数组元素和对象成员的代价比较高点,这个需要根据浏览器来决定代价的大小。

标识符的解析也需要消耗计算机性能,在运行的作用域中,一个标识符所在位置越深,其读写的速度也会越慢,因此,函数中,读写局部变量是最快的,而读写全局变量是最慢的,因为全局变量总是存在运行期的作用域链环境的最末端。所以在没有优化javascript引擎的浏览器中,我们尽可能用局部变量,如果某个跨作用域的值在函数中被引用一次以上,我们可以把它存储到一个局部变量里,如下面的例子

{var doc = document,bd = doc.body,links= doc.getElementsByTagName(‘a’),i = 0,len = links.length;while(i<len){update(links[i++]);}doc.getElementById(‘btn’).onclick=function(){};bd.className = ‘active’;}

document对象存储到局部变量doc,引用三次降低到一次,虽然提高性能效果不是很明显,但是,如果document全局变量引用很次,性能效果的改善会很明显。

德有多高,艺有多深。

javascript中数据访问性能优化简析

相关文章:

你感兴趣的文章:

标签云: