js 性能优化整理之 缓存变量
简单的常见的操作;假设每个便签添加一个 属性 -webkit-animation-delay:0.1s 递增操作;;通过for循环添加
<ul id="uls">
<li style="background:red">0</li>
<li>1</li>
<li style="background:#333;">2</li>
<li>3</li>
<li>4</li>
<li style="background:red">5</li>
</ul>
<script>
console.time("没有缓存变量");
var uls=document.getElementById("uls");
var lis=document.getElementById("uls").getElementsByTagName("li");
for(var i=0;i<lis.length;i++){
lis[i].style.cssText=";-webkit-animation-delay:"+i+"s";
}
console.timeEnd("没有缓存变量"); console.time("缓存变量节点");
var uls=document.getElementById("uls"),
lis=uls.getElementsByTagName("li"),
i=0,
lens=lis.length;
for(;i<lens;i++){
lis[i].style.cssText=";-webkit-animation-delay:"+i+"s";
}
console.timeEnd("缓存变量节点"); </script>
另外一个小例子 缓存变量,dom优化
<div id="sa"></div>
<div id="sb"></div>
分别添加文本内容
var odiv=document.getElementById('sa');
var odiv2=document.getElementById('sb'); console.time('name');
for(var i=0;i<5000;i++){
odiv.innerHTML+='内容';
};
console.timeEnd('name'); var str='';
console.time('22name变量');
for(var i=0;i<5000;i++){
str+='内2容';
};
odiv2.innerHTML=str; console.timeEnd('22name变量');
虽然前人总结好了,自己还是实践看一下;结果还是相差蛮大的,桌面端差别不大,但是一旦数据量大,或者移动端时候,性能问题能提高的计量提高,注意细节;
另外,缓存变量注意内存溢出问题,适合手动清理;
js 性能优化整理之 缓存变量的更多相关文章
- js 性能优化整理之 惰性载入
跨检查浏览器特性,解决不同浏览器的兼容问题. 例如,我们最常见的为 dom 节点添加事件的函数 function addEvent(element,type,handler){ if(element. ...
- js 性能优化整理之 高频优化
mousemove 拖拽操作 var count = 0; elem.onmousemove = function(){ count++; // 当计数器为偶数的时候不执行mousemove if( ...
- js 性能优化 篇一
JS性能优化 摘自:http://www.china125.com/design/js/3631.htm 首先,由于JS是一种解释型语言,执行速度要比编译型语言慢得多.(注:,Chrome是第一款内 ...
- [MySQL性能优化系列]提高缓存命中率
1. 背景 通常情况下,能用一条sql语句完成的查询,我们尽量不用多次查询完成.因为,查询次数越多,通信开销越大.但是,分多次查询,有可能提高缓存命中率.到底使用一个复合查询还是多个独立查询,需要根据 ...
- js性能优化-事件委托
js性能优化-事件委托 考虑一个列表,在li的数量非常少的时候,为每一个li添加事件侦听当然不会存在太多性能方面的问题,但是当列表非常的长,长到上百上千甚至上万的时候(当然只是一个解释,实际工作中很少 ...
- js 性能优化利器:prepack
1. js 性能优化 js 本身是没有像 python 一样的预编译功能,更没有像 java 一样的编译功能,所以,这里所说的 js 代码预编译 只是通过工具实现的类似功能而已. 这就要提到 prep ...
- Hibernate性能优化之EHCache缓存
像Hibernate这种ORM框架,相较于JDBC操作,需要有更复杂的机制来实现映射.对象状态管理等,因此在性能和效率上有一定的损耗. 在保证避免映射产生低效的SQL操作外,缓存是提升Hibernat ...
- js性能优化文章集锦
总结的js性能优化方面的小知识http://www.it165.net/pro/html/201503/35336.html 如何优化你的JS代码http://www.php100.com/html/ ...
- JS性能优化笔记搜索整理
通过网上查找资料了解关于性能优化方面的内容,现简单整理,仅供大家在优化的过程中参考使用,如有什么问题请及时提出,再做出相应的补充修改. 一. 让代码简洁:一些简略的表达方式也会产生很好的优化 eg:x ...
随机推荐
- mysql经常使用的命令
如何登陆数据库 飞机着陆 mysql -u <username> -p 访问本机数据库 mysql -u <username> -D <d ...
- Windows Phone开发(20):当MediaElement和VideoBrush合作的时候
原文:Windows Phone开发(20):当MediaElement和VideoBrush合作的时候 前面说的那么多控件都是"静态"的,都是"哑吧"的,今天 ...
- 解决alaert.builder二次调用报错的bug
报错的代码是: The specified child already has a parent. You must call removeView() on the child's parent f ...
- 使用C#和.NET 4编写的并行应用程序“多核并发编程的规则”
“多核并发编程的规则” 规则的描述如下 1. 并发编程的思想—这条规则就是要谨记并发编程思想进行设计,就像前边章节所提交的. 2. 面向抽象编程-你可以利用.NET4中的TPL提供 ...
- Iphone CodeSign error: no provisioning profile at path 错
今天在退房手续,变化了profile,当再次进行整理编译项目时.就出现了这个问题,在xCode 6 开发环境下出现了, 出现这个错误提示Code Sign error: Provisioning pr ...
- Akka FSM 源代码分析
Akka FSM 源代码分析 萧猛 <simonxiao@qq.com> 啰嗦几句 有限状态机本身不是啥新奇东西,在GoF的设计模式一书中就有状态模式, 也给出了实现的建议.各种语言对状态 ...
- 基于lua的网页脚本开发语言cgilua(转)
这里为大家介绍基于lua脚本实现的网页开发语言,cgilua 介绍 cgilua使用Lua是一个用于创建动态网页的服务器端脚本语言.纯LUA脚本和LUA页(LP)的支持,cgilua.Lua脚本是一个 ...
- redmine忘记username和password
环境: Ubuntu 13.10 bitnami-redmine-2.5.1-1-linux-x64-installer.run 用bitnami安装完redmine以后,有是否忘记了username ...
- TypeScript 5 Angular 2
TypeScript 5 分钟快速入门 翻译:Angular 2 - TypeScript 5 分钟快速入门 原文地址:https://angular.io/docs/ts/latest/quicks ...
- Search Bars(一个)
A search bar provides an interface for text-based searches with a text box and buttons such as searc ...