HTML5加入了WebStorage规范,旨在解决在客户端存储数据而不需要持续将数据发送回服务器端的问题。它提供了两个对象,sessionStorage和localStorage,这两个对象都以windows对象属性的形式存在。不同的是localStorage保存的数据不会过期,sessionStorage保存的数据每次关闭浏览器都会清空。这个扩展类WebStorage的出现解决了cookie不适合浏览器存储大量数据的问题,每次请求都会将cookie保存在请求头中传输给服务器。Storage的两个实例提供了以下五个方法:clear():删除所有值;未在Firefox中实现。getItem(name):根据指定的名称获取对应的值。key(index):获取索引位置的值的名称。removeItem(name):删除name指定的名值对。setItem(name,value):为指定的名称设置一个对应的值。Storage的几个方法调用虽然很简单,但是只能存储字符串格式的数据,给实际的编码过程带来了很大的麻烦。比如:我存储一个Object数据的时候,每次之前都要把数据转成字符串,取出来使用的时候又要把字符串转成对象,还得人为记住存储值的格式.所以为了减少重复劳动,减少以后重复代码,顺便提高效率,做了一个包。EStorage.session和EStorage.local这两个操作对象分别对应sessionStorage和localStorage,提供了8个方法set(key,value):为指定的key设置一个对应的值。remove(key):删除key指定的名值对。clear():删除所有值;未在Firefox中实现。更新更新(键,值)。get(key):根据指定的key获取对应的value。keyType(key):key值对应的数据类型isexist(key):存在与否getAll():获取所有值并返回对象支持七种数据格式:String、Number、Boolean、Function、Date、Object,Array特点:1.存储什么数据类型,取出什么数据类型2.存储在native方法中的数据只能作为字符串取出3.与native方法共存4.易于使用浏览器扩展安装:npm://commonjsimportconstEStorage=require('EStorage')EStorage.session.set('newObj',{key:'value'})console.log(EStorage.session.get('newObj'))//es6引入importEStoragefrom'EStorage'EStorage.local.set('number',123)console.log(EStorage.local.get('number'))addEvent支持监听一个key-value对,如果监听值发生变化(set、update、remove、clear),触发注册的回调函数事件EStorage.session.addEvent("key",function(newVal,oldVal,type){console.log(newVal,oldVal,type)})最后附上github地址https://github.com/James-Nie/...
