当然javascript内存管理是很复杂的,我们也不需要了解那么多。
只要知道一些大体上的运行机制即可,下面就对此进行一下简单介绍,需要的朋友可以做一下参考。
c语言类似的低级语言,有它们自己的低级内存管理基元,比如malloc()、free()等。但是像是javascript这样的高级语言,内存管理就更为智能,甚至让我们感觉无需在意内存管理,只要集中精力于功能实现即可。
一.javascript声明周期:
其实几乎所有语言的生命周期都是大体如下:
(1).分配你所需要的内存。
(2).使用它(读、写)。
(3).当它不被使用时释放 。
二.内存分配:
(1).变量初始化:
javascript在变量定义时分配内存。
// 给数值变量分配内存 var n = 5; //给字符型 var webName = "犀牛前端部落"; //为对象及其包含变量分配内存 var obj = { age: 3, a: null }; // 为数组及其包含变量分配内存(就像对象) var arr = [2, null, "青岛市南区"]; //为函数(可调用的对象)分配内存 function func(a) { return a + 2; } //函数表达式也能分配一个对象 ele.addEventListener('click', function () { ele.style.backgroundColor = 'blue'; }, false);
(2).通过函数调用实现内存分配:
var d = new Date(); var e = document.createElement('div'); //分配一个DOM元素
上面的代码调用函数创建一个对象,于是也就伴随着内存的分配。
(3).值的试用:
使用值的过程实际上是分配内存进行读取与写入的操作,意味着可以写入一个变量或者一个对象的属性值,甚至传递函数的参数。
(4).内存释放:
大多数内存管理的问题都在这个阶段。在这里最艰难的任务是找到“所分配的内存确实已经不再需要了”。它往往要求开发人员来确定在程序中哪一块内存不再需要并且释放它。高级语言解释器嵌入了“垃圾回收器”,主要工作是跟踪内存的分配和使用,以便当分配的内存不再使用时,自动释放它。
三.垃圾回收方式:
关于浏览器垃圾回收的方式,这里就不多介绍了,具体可以参阅以下两篇文章:
(1).垃圾回收的标记清除算法详解一章节。
(2).垃圾回收的引用计数器法详解一章节。
javascript 内存使用管理简单介绍,这样的场景在实际项目中还是用的比较多的,关于javascript 内存使用管理简单介绍就介绍到这了。
javascript 内存使用管理简单介绍属于前端实例代码,有关更多实例代码大家可以查看。
本文地址: http://www.zzsi.net/code/web/98415.html
本站部分资源来源与网络,仅供学习参考使用,请勿商用,如侵犯了您的权益,请联系我们删除。