求问各位,之前导师布置了个活,要分析酵母线粒体基因组与其他物种线粒体基因组的共同基因,以及分析不同基因在其他物种的分布定位,请问使用什么工具分析呢?我在网上看教程有人用mVISTA,或者就用NCBI吗?提前感谢回答~
不知道你这个问题是否已经解决, 如果还没有解决的话:实例:
<button onclick="replaceThing()">第二次点我就有泄漏</button>
<script>
var theThing = null;
var replaceThing = function () {
var originalThing = theThing;
var unused = function () {
if (originalThing) {
console.log("hi");
};
}
theThing = {
longStr: new Array(1000000).join('*'),
someMethod: function someMethod() {
console.log('someMessage');
}
};
};
上面那段代码泄漏的原因在于有两个闭包:unused和someMethod,二者共享父级作用域。
因为后面的 theThing 是全局变量,someMethod是全局变量的属性,它引用的闭包作用域(unused 和somMethod共享)不会释放,由于originalThing在共享的作用域中,造成originalThing不会释放,随着 replaceThing 不断调用,originalThing 指向前一次的 theThing,而新的theThing.someMethod又会引用originalThing ,从而形成一个闭包引用链,而 longStr是一个大字符串,得不到释放,从而造成内存泄漏。
解决方法:在 replaceThing 的最后添加 originalThing = null