У меня есть приложение, использующее jquery-mobile и jquery. На первой странице есть объект создан, который затем используется для временного хранения:Пустой объект Javascript (JQuery Mobile)
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(); 'и старый объект будет собран мусором. – nnnnnn
Поскольку, вероятно, нет прямой ссылки на объект, вы просто должны иметь возможность делать «StorageObject = new object();», чтобы иметь новый, нет? –