清空Javascript对象(Jquery Mobile)

Empty a Javascript Object (Jquery Mobile)

本文关键字:Mobile Jquery Javascript 对象 清空      更新时间:2023-09-26

我有一个使用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();

要获得它的新副本:)

如果确实需要,您可以循环并delete每个属性:

for (var prop in StorageObject) {
    if (StorageObject.hasOwnProperty(prop)) {
        delete StorageObject[prop];
    }
}

否则,正如其他人所建议的那样,只需将其替换为不同的Object:

StorageObject = {};

您不能清空对象本身,您必须手动清空它,也许可以使用这样的自定义函数:

StorageObject.empty = function(){
    //empty all my data
}

或者,如果您只需要引用StorageObject变量,您可以在每次需要像一样重置它时将其设置为null或新的对象实例

StorageObject = null;

或者这个

StorageObject = new Object();