我正在以这种方式声明一个功能:
function clearScrollViewCont(elm,indx,array){
elm.removeAllChildren();
$.scrollView.scrollViewCont.remove(elm);
elm = null;
}
然后我在forEach函数中调用它:
$.scrollView.scrollViewCont.getchildren().forEach(clearScrollViewCont);
所有以前的代码都在另一个大函数内部,所以当从内存中删除这个大函数时,它的所有内容都将被清除,但我不知道什么是更快的释放内存的方法。我习惯于将每个我不再需要的变量置空(即使它写在一个大函数内)但现在,我想知道从已声明的函数中清除内存 在我之前的代码中,以这种方式声明'clearScrollViewCont'函数不会让我以后将其置空。另一方面,如果我这样声明:
var clearScrollViewCont = function (elm,indx,array){
elm.removeAllChildren();
$.scrollView.scrollViewCont.remove(elm);
elm = null;
}
我可以稍后将其置零(简单地通过对'clearScrollViewCont'变量进行归零)但我不知道这本身是否需要更多的内存空间,然后第一种方式,因为现在我除了函数之外还声明了一个变量。 / p>
每种方式的优点和缺点是什么?
答案 0 :(得分:1)
在我看来,两种方式都占用了相同的空间。你是否声明一个像:
这样的函数真的不重要function clearScrollViewCont(elm,indx,array){}
或
var clearScrollViewCont = function(elm,indx,array){}
在这两种情况下都会创建一个Function对象,该对象可以通过其名称调用:clearScrollViewCont(...);
请记住,JavaScript函数也是对象:(Functions)
因此,在我看来,这两种方式都占用了相同的空间。