Javascript 如何创建包含其他对象的对象
这是我的密码。基本上,我正在尝试开发一种方法,将各种东西存储在名为myApp 目前,我可以将对象调用highscoreOK保存到本地存储。我正在努力弄清楚如何将此highscore对象与名为myApp的对象一起放置并保存到本地存储Javascript 如何创建包含其他对象的对象,javascript,local-storage,Javascript,Local Storage,这是我的密码。基本上,我正在尝试开发一种方法,将各种东西存储在名为myApp 目前,我可以将对象调用highscoreOK保存到本地存储。我正在努力弄清楚如何将此highscore对象与名为myApp的对象一起放置并保存到本地存储 我的理解是,您希望使用“MyApp”键将所有应用程序数据存储在本地存储对象中。我将通过添加一个将存储所有应用程序数据的MyApp对象来实现这一点MyApp将初始化为当前本地存储值“MyApp”,或者,如果该值为null,则初始化为新对象。当更改了InverMyApp
我的理解是,您希望使用“MyApp”键将所有应用程序数据存储在本地存储对象中。我将通过添加一个将存储所有应用程序数据的
MyApp
对象来实现这一点MyApp
将初始化为当前本地存储值“MyApp”,或者,如果该值为null
,则初始化为新对象。当更改了InverMyApp
时,即调用了localStorageClass.set
时,本地存储将更新为当前版本的MyApp
。我使用了一个闭包来初始化localStorageClass
,这样我就可以有效地保持MyApp
的私有性
var localStorageClass = (function () {
var MyApp = JSON.parse(localStorage.getItem('MyApp')) || {};
return {
set: function (key, value) {
if (!key || !value) {
return;
}
MyApp[key] = value;
localStorage.setItem('MyApp', JSON.stringify(MyApp));
},
get: function (key) {
return MyApp[key];
}
};
}());
localData未定义要使用支持本地存储的浏览器,最后一行应该是:console.log(localStorage);正如Bitsplitter所说,最后一行应该是localStorage,而不是localData。问题已更新。
var localStorageClass = (function () {
var MyApp = JSON.parse(localStorage.getItem('MyApp')) || {};
return {
set: function (key, value) {
if (!key || !value) {
return;
}
MyApp[key] = value;
localStorage.setItem('MyApp', JSON.stringify(MyApp));
},
get: function (key) {
return MyApp[key];
}
};
}());