Html5使用localStorage存储对象数据

Html5可使用localStorage存储数据,其方法为

storage.setItem(keyName, keyValue);

其中:

  • keyName:键,字符串类型
  • keyValue:值,字符串类型

关于setItem,可以参考:Storage.setItem()

如果需要存储对象数据,那么需要把对象数据使用JSON.stringify转换为字符串。

localStorage.setItem('key', JSON.stringify(objectValue)); //转换为string存储

var item= localStorage.getItem('key');

var objectData = JSON.parse(item); //转换为对象数据

改进一下,可以在Storage原型上setObject和getObject方法:

Storage.prototype.setObject = function(key, value) {
    this.setItem(key, JSON.stringify(value));
}

Storage.prototype.getObject = function(key) {
    var value = this.getItem(key);
    return value && JSON.parse(value);
}

版权声明:著作权归作者所有。

相关推荐

Angular 5配置使用service-worker

Angular 5实现了一个适用于Angular应用的Service Worker,Angular CLI 1.6也添加了对service worker的支持。使用Angular CLI对应用添加service worker的支持分两种情况:新项目应用中添加service worker在已有项目中添加service&n

Android使用Kotlin新特性Parcelize序列化对象

Android对对象序列化主要有两种方式:Serializable和Parcelable。Serializable实际是使用Java的放射机制对对象做序列化和反序列化,其性能远低于使用Parcelable。但是使用Java写的Parcelable有点繁琐,需要我们实现Parcelable接口,手写很多模板代码。Java版Parcelable示例public class User

Html5使用CSS修改输入框的placeholder颜色

这里需要使用伪元素的方式对input的placeholder设置样式,且不同的浏览器伪元素不一样。兼容多个浏览器的方法:::-webkit-input-placeholder { /* WebKit, Blink, Edge */     color:    

MySQL存储emoji表情

emoji编码为unicode占用4个字节,如果MySQL字符编码为utf8,存储emoji会报错:Incorrect string value: '\xF0\x9F\x98\x84' for column 'content' at row 解决方法MySQL >=5.5.3把存储含有emoji表情的字

Angular4使用Rxjs5共享Http请求返回的结果数据

在使用Angular开发的单页面应用里,有时需要处理这种场景:使用http请求某个数据,数据请求成功后需要把数据更新到多个组件里。也就是说,有多个observer(观察者)对http请求数据返回的Observable订阅。getDta() {     return this.http.get('/dataUrl').map(res&nbs

HTML 5关闭表单的自动填充(Autocompletion)

在HTML 5可以使用autocomplete属性关闭表单的自动填充。autocomplete="off" autocomplete可以在两个地方使用:form标签和input等输入标签form标签在form标签添加autocomplete="off"是关闭整个表单的自动填充。<form method="post"