
正文
本地存储(sessionStrorage,localStorage)
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
1、本地存储特性
1. 数据存储在用户浏览器中
2. 设置,读取方便,设置页面刷新不丢失数据
3. 容量较大,sessionStorage约5M,localStorage约20M
4. 只能存储字符串,可以将对象JSON.stringify() 编码后存储
2、window.sessionStorage
1.生命周期为关闭浏览器窗口
2.在同一个窗口(页面)下数据可以共享
3.以键值对的形式存储使用
存储数据:
sessionStorage.setItem(key,value);
例:sessionStorage.setItem('uname','andy');
获取数据:
sessionStorage.getItem(key);
例:sessionStorage.getItem('uname');
删除数据:
sessionStorage.removeItem(key);
例:sessionStorage.removeItem('uname');
删除所有数据:
sessionStorage.clear(); //尽量避免使用
3、window.localStorage
1. 生命周期永久生效,除非手动删除,否则关闭页面也会存在
2. 可以多窗口(页面)共享(同一浏览器可以共享)
3. 以键值对的形式存储使用
存储数据:
localStorage.setItem(key,value);
例:localStorage.setItem('uname','andy');
获取数据:
localStorage.getItem(key);
例:localStorage.getItem('uname');
删除数据:
localStorage.removeItem(key);
例:localStorage.removeItem('uname');
删除所有数据:
localStorage.clear(); //尽量避免使用
记住用户名案例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
<style>
input {
vertical-align: middle;
}
</style>
</head>
<body>
<input type="text" id="txt" />
<input type="checkbox" id="check" />
<label for="check">记住用户名</label>
<script>
var txt = document.querySelector("#txt");
var check = document.querySelector("#check");
var label = document.querySelector("label");
txt.onblur = function() {
var text = txt.value;
// console.log(text);
localStorage.setItem("uname", text);
};
(function() {
var user = localStorage.getItem("uname");
if (user) {
txt.value = user;
check.checked = true;
} else {
txt.value = null;
}
})();
</script>
</body>
</html>







