js-性能优化
2012-07-19 09:48
162 查看
以下内容来自读网上博客的总结,当笔记使用,只记重点,同时非常感谢乐于分享的博主们,是你们让我站在了巨人的肩旁上!
1、函数节流技术的主要思路是,通过一个定时器,阻断连续重复的函数调用。当然每个解决方案不是全能,有其局限性:
实用条件:1、短时间内连续多次触发;2、大量的DOM操作;(DOM操作对cpu和内存的开销比较大)例如一个 mousemove 或者 IE 中 resize 事件的监听函数。
注意事项: 对于我们自己内部使用的函数,这通常意义不大,也不推荐使用这个技术,它可能会丢失对某些数据的处理。
意义:在于在用户察觉范围外,降低函数调用的频率,从而提升性能。
使用模式:<1>、用一个类似命名空间那样的对象封装起来;如:
<2>、使用闭包;如:
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
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 JavaScript 的性能优化:加载和执行
- 通过js优化web性能
- Web性能优化:延迟加载JS
- js性能优化的小知识
- js 性能优化整理之 高频优化
- JS 网站性能优化笔记
- 我总结的js性能优化的小知识
- JS性能优化笔记搜索整理
- 性能优化——CSS和JS的加载和执行
- js性能优化-事件委托
- js性能优化的小知识
- 在线的图片、js、css压缩优化工具介绍(配合小强视频 前端性能分析精要)
- react性能优化达到最大化的方法 immutable.js使用的必要性
- JS性能优化
- node.js express性能优化
- JS性能优化笔记搜索整理
- 多个JS文件性能优化
- 我所经历的JS性能优化
- js性能优化小结
- JS性能优化技巧