Js对象缓存性能
Js object cache performance
我读到js中有更好的性能,我知道如果我有这样的东西:
for (i=0;i<document.images.length;i++)
document.images[i].src="blank.gif"
所以更好的方法是像这样缓存对象:
var theimages = document.images
for (i=0;i<theimages.length;i++)
theimages[i].src="blank.gif"
我的问题是,它是只在dom对象中,还是在常规对象中,性能更好。例如:
var obj = {key: {one: 1, two:2, three: 3}};
obj.key.one = 'something';
obj.key.two = 'something';
obj.key.three = 'something';
在这个例子中,这样做会更好吗?
var obj = {key: {one: 1, two:2, three: 3}};
var objKey = obj.key;
objKey.one = 'something';
objKey.two = 'something';
objKey.three = 'something';
是的,缓存子对象可能会更快。
然而,对于普通对象,增益可以忽略不计,因为哈希表中的搜索平均为O(1)。然而,在最坏的情况下是O(n)。
缓存对象对于避免一次又一次地遍历DOM来检索对象基本上是有用的。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 提高JQuery的性能
- 如何在从浏览缓存加载页面时执行javascript
- 使用正则表达式评估电子邮件地址时出现性能问题
- React:按键的性能提升
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- 缓存谷歌地图数据
- 在Three.js中导出网格会提高性能吗
- 全局 JQuery 选择器缓存以提高性能
- Js对象缓存性能
- Javascript regexp性能和缓存
- 在循环中缓存数组查找是否有任何性能提升
- 可以缓存JSON以增加性能/加载时间
- 如何缓存我的javascript文件以提高性能
- 为循环条件缓存数组长度会影响性能吗?
- 混合javascript和php时的性能和缓存
- 缓存文档对象是否有性能上的好处
- Javascript大小在缓存后是否会影响性能?
- Cordova/Knockout/jQueryMobile 缓存性能
- Angular.js在ng-repeat中缓存$编译模板/渲染指令的性能