store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要借助 Cookie 或者 Flash来实现。它提供非常了简洁的 API 来实现跨浏览器的本地存储功能。使用store,js简化了使用localStorage原生方法的操作。本文主要介绍如何用store.js操作localStorage。
本地存储localstorage
localstorage
是 HTML5 提供的在客户端
存储数据的新方法,主要作用是将数据保存在客户端中,并且数据是永久保存
的,除非人为干预删除。
localstorage 的局限
1、只有版本较高的浏览器中才支持 localstorage
2、localStorage只能存储字符串
,使用 JSON 时需转换
3、如果存储内容过多会消耗内存空间,导致页面变卡,因为localStorage本质上是对字符串的读取
store.js
store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要借助 Cookie 或者 Flash来实现。它提供非常了简洁的 API 来实现跨浏览器的本地存储功能。
使用store,js简化了使用localStorage原生方法的操作。
store.js的使用
首先引入store.min.js插件:
1<script src="https://cdn.bootcss.com/store.js/1.3.20/store.min.js"></script>判断浏览器是否支持本地存储
12345678910<script type="text/javascript">init();function init(){if(!store.enabled){alert("你的浏览器不支持本地存储,请使用更高版本的浏览器");return;}else{......}</script>开始愉快地使用store.js吧~
store.js的基本API有:123456store.set(key, val) //存储 key 的值为 val;store.get(key) //获取 key 的值;store.remove(key) //移除 key 的记录;store.clear() //清空存储;store.getAll() //返回所有存储;store.forEach() //遍历所有存储。
使用方法:
- set 单个存储字符
格式:store.set(key, data[, overwrite]);
123456789101112131415161718192021store.set('name','mavis'); //存储name的值为 mavisstore.set('name','angel'); //将name的值存储为angel例如:store.set('容器1', json)```在控制台显示![](https://sfault-image.b0.upaiyun.com/282/193/2821938934-5831460c5a712)---- get 获取存入的key值格式:`store.get(key[, alt]);`get获取时,有时需要判断是否存在localStorage```javascriptstore.set('name','mavis');store.set('name','angel');store.get('name'); //angel例如:var json = {1:1,2:2,3:3,4:4};store.set('容器1', json)store.get('容器1');//{1:1,2:2,3:3,4:4}
- remove 移除key的记录1store.remove('name');
在控制台可以看到name的值已经被移除
- store.clear(); 清空所有本地存储
- getAll 从所有存储中获取值
格式:store.getAll()
12store.set('name','mavis');store.getAll().user.name == 'mavis'; //true
- forEach 遍历所有的值 12345store.set('user',{name:'mavis',likes:'javascript'}); // 存储对象 - 自动调用 JSON.stringifyvar user = store.get('user'); // 获取存储的对象 - 自动执行 JSON.parsestore.forEach(function(key, val) {console.log(key, '==', val)}) // 遍历所有存储
- store.has(key)
``javascript
console( store.has(‘容器1’) );//true
console( store.has(‘容器2’) );//false
```
在浏览器中查看LocalStorage的方法
F12打开开发人员工具→Application→Storage→LocalStorage