浏览器本地存储
webStorage
-
存储内容大小一般支持5MB左右(不同浏览器可能还不一样)
-
浏览器端通过 Window.sessionStorage 和 Window.localStorage 属性来实现本地存储机制。
-
相关API:
-
xxxxxStorage.setItem('key', 'value');
该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应的值。 -
xxxxxStorage.getItem('person');
该方法接受一个键名作为参数,返回键名对应的值。
-
xxxxxStorage.removeItem('key');
该方法接受一个键名作为参数,并把该键名从存储中删除。
-
xxxxxStorage.clear()
该方法会清空存储中的所有数据。
-
-
备注:
- SessionStorage存储的内容会随着浏览器窗口关闭而消失。
- LocalStorage存储的内容,需要手动清除才会消失。
xxxxxStorage.getItem(xxx)
如果xxx对应的value获取不到,那么getItem的返回值是null。JSON.parse(null)
的结果依然是null。
localStorage
localStorage 用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去删除。
localStorage 属性是只读的。
localStorage的API
localStorage.setItem()(写入数据/保存数据)
localStorage.getItem()(读取被写入的数据)
localStorage.removeItem()(删除已写入的数据)
localStorage.clear()(清空所有数据)
实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>localStorage</title>
</head>
<body>
<h2>localStorage</h2>
<button onclick="saveData()">点我保存一个数据</button>
<button onclick="readData()">点我读取一个数据</button>
<button onclick="deleteData()">点我删除一个数据</button>
<button onclick="deleteAllData()">点我清空数据</button>
</body>
<script type="text/javascript">
//Vue.config.productionTip = false //设置为 false 以阻止 vue 在启动时生成生产提示。
let p = {name:'张山',age:11}
function saveData() {
localStorage.setItem('msg','hello')
localStorage.setItem('msg2',666)
//在向服务器发送数据时一般是字符串,我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。
localStorage.setItem('person',JSON.stringify(p))
}
function readData() {
console.log(localStorage.getItem('msg'))
console.log(localStorage.getItem('msg2'))
const result = localStorage.getItem('person')
//JSON.parse() 方法将数据转换为 JavaScript 对象。
console.log(JSON.parse(result))
}
function deleteData() {
localStorage.removeItem('msg')
}
function deleteAllData() {
localStorage.clear()
}
</script>
</html>
sessionStorage
sessionStorage 用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
使用方法与localStorage一样(实例就不展示啦)
sessionStorage .setItem()(写入数据/保存数据)
sessionStorage .getItem()(读取被写入的数据)
sessionStorage .removeItem()(删除已写入的数据)
sessionStorage .clear()(清空所有数据)
essionStorage .getItem()(读取被写入的数据)
sessionStorage .removeItem()(删除已写入的数据)
sessionStorage .clear()(清空所有数据)