javascript - 问个js中解除引用问题
黄舟
黄舟 2017-04-11 10:08:36
[JavaScript讨论组]

标记清除法 中使用
var obj = new Object();

obj = null;//解除引用
书上说通过上述代码可以释放对象占用内存空间。
为什么??? 这不是引用计数法的内容?
    


黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(2)
黄舟

解除一个值的引用并不意味着自动回收该值所占用的内存。解除引用的真正作用是让值脱离执行环境,等待垃圾收集器下次运行时将其回收。因为js的垃圾回收是周期性的。让它为null之后,下一次垃圾回收机制触发时就会讲这个变量清除

PHP中文网

因为这样就告诉垃圾回收器,这个对象我不要了,你下次可以帮我丢了。。。但是如果同一个对象还被其他变量引用着,那也是不会回收的

其实现在的js引擎的垃圾回收机制已经很好了,不这么做问题也不大,但是考虑古旧的垃圾回收机制,这么做是一个好习惯

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号