自适应和响应式网站,大学网站栏目建设,怎么seo关键词优化排名,怎样在网站上做友情链接垃圾回收机制 Javascript采用 自动垃圾收集机制#xff0c;执行环境会负责跟踪代码执行过程中使用的内存#xff0c;而在C和C类的语言中#xff0c;需要开发人员手工跟踪内存的使用情况。 该机制的实现原理#xff1a;找出那些不再继续使用的变量#xff0c;然后释放其占用…垃圾回收机制 Javascript采用 自动垃圾收集机制执行环境会负责跟踪代码执行过程中使用的内存而在C和C类的语言中需要开发人员手工跟踪内存的使用情况。 该机制的实现原理找出那些不再继续使用的变量然后释放其占用的内存为此垃圾收集器会按照固定的时间间隔周期性的执行这一操作。 javascript的垃圾回收机制会将变量分为两大类函数内的局部变量 和 非局部变量。因为局部变量只在函数执行的过程中存在在函数执行的过程中为局部变量在栈或堆内存上分配相应的空间函数执行完毕释放局部变量占用的内存空间变量被销毁而对于非局部变量垃圾收集器就需要跟踪变量判断哪些没用了打上标记这种标记策略因浏览器而异通常有两种。 1. 标记清除 垃圾收集器在运行的时候给存储在内存中的所有变量都加上标记然后它会去掉执行环境中的变量和已经被环境引用的变量的标记。在此之后再被加上标记的变量将被视为准备删除的变量原因是环境中的变量已经无法访问到这些变量了。最后垃圾收集器完成内存清理工作。销毁那些带标记的值并回收他们所占用的内存空间。 到2008年为止IE、Fireforx、Opera、Chrome和Safari采用的都是这种垃圾收集策略只是收集的时间间隔不同。 2. 引用计数 引用计数的含义是跟踪记录每个值被引用的次数当值的引用次数为0时将其占用的内存空间回收当垃圾收集器下次再运行时它就会释放那些引用次数为0的值所占用的内存。 但该方法存在一个很大的漏洞当遇到循环引用对象A中包含一个指向对象B的指针而对象B中也包含一个指向对象A的指针时会出现大量的内存得不到回收。 目前大部分浏览器都不采用这种方式除了IE。IE中有一部分对象并不是原生的javascript对象例如DOM和BOM中的对象是使用C以COMComponent Object Model组件对象模型对象的形式实现的。 管理内存 Javascript为了安全性以及防止运行javascript的网页耗尽全部系统内存而导致系统崩溃分配给Web浏览器的可用内存数量通常比分配给桌面应用程序的少但是这种内存限制问题不仅会影响给变量分配内存同时还会影响调用栈以及在一个线程中能够同时执行的语句数量。 因此确保占用最少的内存可以让页面获得更好的性能。优化内存占用的最佳方式就是为执行中的代码只保存必要的数据一旦数据不再使用通过将其值设置为null释放其引用这种做法叫做解除引用这一做法适合大多数全局变量和全局变量的属性局部变量会在他们离开执行环境时自动被解除引用。转载于:https://www.cnblogs.com/onlycare/p/9791873.html