晚上闲着没事,蹂躏了一把JS代码,
主要是这一段匿名函数
(function(ins) { var btns = []; for(var p in ins) { btns.push($(p)); } e(btns, function(o) { on(o, "click", function() { if("(-)收起" == this.innerHTML) { attr(this, "title", "我还是想看看收起来的东西。" ); this.innerHTML = "(+)展开"; // 改变TR e(ins[this.id], function(d) { d.style.display = "none"; }); } else { attr(this, "title", "太多了,看花眼了,我要收起这部分内容。" ); this.innerHTML = "(-)收起"; // 改变TR e(ins[this.id], function(d) { d.style.display = "block"; }); } }); }); })({'gh_349893': [$('panel439542'), $('panel439543')], 'gh_349894':[$('panel439544'), $('panel439545'), $('panel439546'), $('panel439547'), $('panel439548')]});
目的很简单
// 对id为"panel439542"和"panel439543"的tr进行TOGGLE,通过"gh_349893"按钮触发[span做的]
// 对id为"panel439544","panel439545","panel439546","panel439547"和"panel439548"的tr进行TOGGLE,通过"gh_349894"按钮触发[span做的]
看懂了目的就很简单,但如果不加说明,维护这段代码了的人应该会把它删了重写。
几个简单函数的说明
on给dom对象绑定事件
attr取或者设置dom对象的属性值
$哪都能见到的万能狗皮
e对象遍历操作
这段代码除了乱以外有没有内存泄漏等其他问题呢?
不过好像占用内存蛮多的
补充:OMG,见图
用sIEve让它自动刷新了会儿,数字从13000多一直爬升到17000多,而且还在稳步上涨
但是leaks一直都为0