内存泄漏问题

以下代码有内存泄漏:

var user = {name: 'tony', age: 20, gender: 'male'}
var test = document.getElementByid('test')
test.onclick = function() {
 test.innerText = user.name;
}
// ...后面还有很多其他操作,最后把user对象释放掉
user = null; 

运行这段代码可以发现:点击时出现空白,就是根本不能把

name: 'tony'渲染到页面上,也就是通过这段代码并不能找到 name:"Tony",内存出现了泄漏

运用闭包就可减少内存泄漏:

var user = {name:"Tony",age:20,gender:"male"};
                var test = document.getElementById("test");
                (function (name){
                    test.onclick = function(){
                        this.innerText = name; 
                    }
                    })(user.name);
                    user = null;

而运行这段代码,就能将

name: 'tony'渲染到页面上。
posted @ 2018-10-16 17:16  阳光下的三叶草  阅读(136)  评论(0编辑  收藏  举报