内存泄漏问题
以下代码有内存泄漏:
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'渲染到页面上。
无才难做千里马,有志可吞九霄云!