【发布时间】:2013-07-28 12:11:29
【问题描述】:
我有一个使用 jquery-mobile 和 jquery 的应用程序。 在第一页上创建了一个对象,然后将其用于临时存储:
var StorageObject = new object();
这是在全局空间中定义的,因此它在会话中是持久的。 当点击链接并采取行动时,对象会更新为值:
StorageObject.value = 'something';
我的问题是你需要清空对象(如果有人点击取消或其他东西)并重新开始需要一个空的存储对象。因为 jquery-mobile 基本上都在一个页面上,所以没有重新加载全局空间,因此存储对象从最后一次使用中持续存在。 我不相信我可以调用任何东西来清空对象,而无需编写一些递归代码来遍历每个值并清空它。
是否有清空对象的方法或者我应该以另一种方式这样做?
=============================================
编辑:
遵循以下建议后,我仍然遇到存储对象中的数组问题。 我必须更改初始定义,所以我定义了存储对象:
StorageObject.value = 0;
StorageObject.ArrayofValues = new Array();
到:
function MyStorageObject(){
this.value = 0;
this.ArrayofValues = new Array();
};
var StorageObject = new MyStorageObject();
从那里开始,我可以按照其他人的建议,拨打电话:
StorageObject = new MyStorageObject();
获取它的新副本 :)
【问题讨论】:
-
你有多少对该对象的引用?如果
StorageObject是唯一的引用,只需说StorageObject = {}或StorageObject = new Object();,旧对象将被垃圾回收。 -
由于可能没有直接引用该对象,您应该可以简单地通过
StorageObject = new object();获得一个新对象,不是吗?
标签: javascript jquery-mobile object