TypeScript中的内存释放

时间:2014-12-23 04:44:21

标签: javascript jquery variables memory-management typescript

我有一个变量oneDay,我为其分配了一个整数

 var oneDay = 24 * 60 * 60 * 1000; // hours*minutes*seconds*milliseconds

我在声明代码的函数终止结束时使用以下语法释放oneDay占用的内存。

 var oneDay=null;

我得到的错误:

  

错误TS2134:后续变量声明必须相同   类型。变数' oneDay'必须是类型'日期',但这里有类型   '空'

这可能是什么解决方案?谢谢

2 个答案:

答案 0 :(得分:6)

使用JavaScript管理内存。

所有现代浏览器都使用标记和扫描算法来检测无法访问的对象(一些较旧的浏览器使用引用计数算法,该算法无法收集存在引用循环的对象,因为总会有引用)*。

只要一个对象不能再被引用,它就有资格进行垃圾收集(尽管垃圾收集会在某个时刻发生,而不是立即进行)。

总的来说,您不需要关心JavaScript或TypeScript中的内存管理 - 除非您有可测量的问题。

(*来自Pro TypeScript,p168-170)

答案 1 :(得分:1)

原因:您正在重新声明此变量,说明您收到此错误的原因。 试试这个:

oneDay = null;
$scope.days = null

delete $scope.days