我想在HTML5中存储JavaScript对象localStorage,但我的对象显然正在转换为字符串.
我可以使用存储和检索原始JavaScript类型和数组localStorage,但对象似乎不起作用.他们应该吗?
这是我的代码:
var testObject = { 'one': 1, 'two': 2, 'three': 3 };
console.log('typeof testObject: ' + typeof testObject);
console.log('testObject properties:');
for (var prop in testObject) {
console.log(' ' + prop + ': ' + testObject[prop]);
}
// Put the object into storage
localStorage.setItem('testObject', testObject);
// Retrieve the object from storage
var retrievedObject = localStorage.getItem('testObject');
console.log('typeof retrievedObject: ' + typeof retrievedObject);
console.log('Value of retrievedObject: ' + retrievedObject);
Run Code Online (Sandbox Code Playgroud)
控制台输出是
typeof testObject: object
testObject properties:
one: 1 …Run Code Online (Sandbox Code Playgroud) 我的案例:带有键+值的localStorage应该在浏览器关闭时删除,而不是单个标签.
请查看我的代码是否正确以及可以改进的内容:
//create localStorage key + value if not exist
if(localStorage){
localStorage.myPageDataArr={"name"=>"Dan","lastname"=>"Bonny"};
}
//when browser closed - psedocode
$(window).unload(function(){
localStorage.myPageDataArr=undefined;
});
Run Code Online (Sandbox Code Playgroud) 我需要清除我设置的所有数据localStorage.通过这个,我的意思是完全重置localStorage为null用户删除他们的帐户.
我怎么能用一个简单的功能呢?
我试过这个:
function clearLocalStorage(){
return localStorage= null;
}
Run Code Online (Sandbox Code Playgroud)
但它没有按预期工作.
我已经在 Angular 4 上构建了我的应用程序,并且我正在使用本地存储来存储用户会话。我想要的是每当我发布我的应用程序时,用户本地存储应该被重置,以便发布前的数据不会造成任何问题。
我怎么做?