浏览器本地存储
浏览器本地存储又称:WebStorage
存储内容大小一般为 5MB 左右(不同浏览器可能不一样)
浏览器通过 Window.sessionStorage
和 Window.localStorage
属性来实现本地存储机制
Window.sessionStorage
:存储的内容会随着浏览器窗口的关闭而消失
Window.localStorage
:存储的内容,需要手动清除才会消失
相关 API:
xxxStorage.setItem('key', 'value');
该方法接受一个键和值作为参数,会把键值对添加到存储中,如果键名存在,则更新其对应值
xxxStorage.getItem(xxx);
该方法接受一个键名作为参数,返回键名对应的值
注:如果对应的 value 获取不到,那么 getItem 的返回值是 null
xxxStorage.removeItem('key')
该方法接受一个键名作为参数,并把该键名从存储中删除
xxxStorage.clear()
该方法会清空存储中的所有数据
实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>localStorage</title>
</head>
<body>
<h2>localStorage</h2>
<button onclick="saveData()">点我保存数据</button>
<button onclick="readData()">点我读取数据</button>
<button onclick="deleteData()">点我删除一个数据</button>
<button onclick="deleteAllData()">点我清空数据</button>
<script type="text/javascript">
let p = {name: '张三', age: 18}
function saveData() {
localStorage.setItem('msg', 'hello')
localStorage.setItem('msg2', 'hello2')
localStorage.setItem('person', JSON.stringify(p))
}
function readData() {
console.log(localStorage.getItem('msg'))
console.log(localStorage.getItem('person'))
const result = localStorage.getItem('person')
console.log(JSON.stringify(result))
}
function deleteData() {
localStorage.removeItem('msg2')
}
function deleteAllData() {
localStorage.clear()
}
</script>
</body>
</html>