我一直在寻找这个,但已经空白了
是否可以在javascript中创建一个具有设定生存时间的对象实例,之后它将被销毁?
一个案例是每5秒将一个项目添加到一个数组中并在视觉中显示,然后每个项目在查看一分钟后应该被删除。我犹豫是否每隔一秒运行一次超时函数检查数组以清除它们。
答案 0 :(得分:0)
OOP FTW。为什么不创建某种自我删除对象?
function SelfRemover(){//constructor
};
SelfRemover.prototype.addTo = function(arr) {
var me = this;
arr.push(me); //adding current instance to array
setTimeout(function() { //setting timeout to remove it later
console.log("Time to die for " + me);
arr.shift();
console.log(arr);
}, 60*1000)
}
用法
var a = [];
setInterval(function(){new SelfRemover().addTo(a); console.log(a);}, 5*1000);