js-性能优化
来源:互联网 发布:ubuntu虚拟机镜像 编辑:程序博客网 时间:2024/04/30 01:57
以下内容来自读网上博客的总结,当笔记使用,只记重点,同时非常感谢乐于分享的博主们,是你们让我站在了巨人的肩旁上!
1、函数节流技术的主要思路是,通过一个定时器,阻断连续重复的函数调用。当然每个解决方案不是全能,有其局限性:
实用条件:1、短时间内连续多次触发;2、大量的DOM操作;(DOM操作对cpu和内存的开销比较大)例如一个 mousemove 或者 IE 中 resize 事件的监听函数。
注意事项: 对于我们自己内部使用的函数,这通常意义不大,也不推荐使用这个技术,它可能会丢失对某些数据的处理。
意义:在于在用户察觉范围外,降低函数调用的频率,从而提升性能。
使用模式:<1>、用一个类似命名空间那样的对象封装起来;如:
var processor = { timeoutId: null, performProcessing: function(){ // 要执行的代码 }, process: function(){ clearTimeout(this.timeoutId); this.timeoutId = setTimeout(function(){ processor.performProcessing(); }, 100); } };<2>、使用闭包;如:
function throttle(fn, delay) { //fn表示 要调用的函数,delay表示 延时毫秒数 var timer = null; return function () { var context = this, args = arguments; clearTimeout(timer); timer = setTimeout(function () { fn.apply(context, args); }, delay); }; }
javascript函数的throttle和debounce
2、GC的缺陷,GC时,停止响应其他操作,这是为了安全考虑。原文来自:http://www.cnblogs.com/hyddd/archive/2013/02/07/2908598.html
3、关于重绘和回流:DOM操作会导致一系列的重绘(repaint)、重新排版(reflow)操作。为了确保执行结果的准确性,所有的修改操作是按顺序同步执行的。大部分浏览器都不会在JavaScript的执行过程中更新DOM。相应的,这些浏览器将对对 DOM的操作放进一个队列,并在JavaScript脚本执行完毕以后按顺序一次执行完毕。也就是说,在JavaScript执行的过程,直到发生重新排版,用户一直被阻塞。原文来自:http://www.cnblogs.com/hyddd/archive/2013/02/07/2908960.html
4、JS特性性能缺陷及JIT的解决方案。原文来自:http://www.cnblogs.com/hyddd/archive/2013/02/06/2908110.html- JS性能优化框架
- js-性能优化
- JS性能优化框架
- js性能优化
- Js性能优化
- JS性能优化笔记
- js性能优化
- js性能优化技巧
- js性能优化技巧
- js性能优化
- JS性能优化
- JS加载性能优化
- 5.27 优化JS性能
- js性能优化
- js性能优化
- JS性能优化
- js性能优化
- JS性能优化笔记
- MDIDemo程序分析
- javascript学习之js与浏览器
- 编程导师Ivor Horton新作《Java 7入门经典》即将出版
- 以我7年来做pm的经验来看,PM 如何使自己的观点有说服力,让技术人员觉得你说得有道理,愿意按你说的做
- POJ 1488 TEX Quotes
- js-性能优化
- 经典正则表达式 (收藏整理)
- 火爆!雅虎前员工给新CEO的10条建议
- 将DataGridViewRows转换为DataTable数据
- USB设备类
- java 文件和文件夹操作(总结)
- 【Android基础入门〖16〗】XML解析
- c的效率
- ASCII码表完整版