码迷,mamicode.com
首页 > 编程语言 > 详细

javaScript 内存优化

时间:2015-02-04 16:55:34      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:浏览器   回收   javascript内存管理   gc   

1、  作用域

作用域是js 编程中一个重要的机制,它在内存管理中起着至关重要的作用。

js中能形成作用域的有函数的调用,全局作用域,with语句。

2、  作用域链

对某一变量访问时,查找的原则是:在本函数作用域内查找,没找到,便到上一层去找。

3、  闭包

它是一种技术,让外层作用域访问内层作用域。

 

4、  内存管理算法

引用计数算法

引用计数算法定义“内存不再使用”的标准很简单,就是看一个对象是否有指向它的引用。如果没有其他对象指向它了,说明该对象已经不再需了。

致命问题:循环引用

正是因为有这个严重的缺点,这个算法在现代浏览器中已经被下面要介绍的标记清除算法所取代了。但绝不可认为该问题已经不再存在了,因为还占有大量市场的IE6IE7使用的正是这一算法。

标记清除算法

标记清除算法将“不再使用的对象”定义为“无法达到的对象”。简单来说,就是从根部(在JS中就是全局对象)出发定时扫描内存中的对象。凡是能从根部到达的对象,都是还需要使用的。那些无法由根部出发触及到的对象被标记为不再使用,稍后进行回收。


参考文章:http://www.cnblogs.com/mliudong/p/3635294.html

     http://www.jianshu.com/p/84a8fd5fa0ee

本文出自 “时光” 博客,请务必保留此出处http://timeblog.blog.51cto.com/8650972/1611478

javaScript 内存优化

标签:浏览器   回收   javascript内存管理   gc   

原文地址:http://timeblog.blog.51cto.com/8650972/1611478

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!